数据从ProjectDetailActivity传递到ProjectDetailFragment,我已经检查了数据是否可以通过使用Toast显示数据来传递到片段,如在代码中看到的那样,但是问题是我无法通过使用bundle中的数据在Textview中设置文本。如果您在此代码中看到一些错误,请告诉我。非常感谢。
ProjectDetailActivity类
private String project_key,project_name,project_priority,project_category,
project_start_date ,project_end_date,project_description;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_project_detail);
Intent intent = getIntent();
project_key = intent.getStringExtra("project_key");
project_name = intent.getStringExtra("project_name");
project_category = intent.getStringExtra("project_category");
project_priority = intent.getStringExtra("project_priority");
Bundle bundle = new Bundle();
bundle.putString("project_key",project_key);
bundle.putString("project_name",project_name);
bundle.putString("project_category",project_category);
bundle.putString("project_priority",project_priority);
ProjectDetailFragment project_detail_fragment =new ProjectDetailFragment();
project_detail_fragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction()
.replace(R.id.project_detail_fragment,project_detail_fragment)
.commit();
}
}
ProjectDetailFragment类
public class ProjectDetailFragment extends Fragment {
private View root;
private String project_key,project_name,project_priority,project_category,
private TextView project_name_textView , project_priority_textView ,
project_category_textView ;
private Context mContext;
public ProjectDetailFragment() { }
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
Bundle bundle = getArguments();
project_key = bundle.getString("project_key");
project_name = bundle.getString("project_name");
project_priority = bundle.getString("project_category");
project_category = bundle.getString("project_priority");
}
}
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
root = inflater.inflate(R.layout.fragment_project_detail, container,false);
project_name_textView = root.findViewById(R.id.project_name_textView);
project_priority_textView = root.findViewById(R.id.priority_textView);
project_category_textView = root.findViewById(R.id.category_textView);
project_name_textView.setText(project_name);
project_priority_textView.setText(project_priority);
project_category_textView.setText(project_category);
Toast.makeText(mContext,"TASK ACTIVITY\n"+
project_key+"\n"+project_name+"\n"+project_category+"\n"
+project_priority+"\n",Toast.LENGTH_SHORT).show();
return root;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
mContext=context;
}
}
如果Toast向您显示数据,则意味着接收数据没有问题,并且在将数据设置为文本视图时我看不到任何错误,但是请检查您的xml,如果文本颜色与背景颜色匹配则检查文本颜色,例如文本视图的背景为白色,文本颜色也为白色,显然比看不到文本。或者如果没有的话,您可以这样尝试::::: project_name_textView.setText((。project_name)的String.value);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句