我正在尝试将一个字符串catcode (在各个类别中选择的类别)传递给另一个class2,它在我的一个class1函数中的两个循环中定义,但不确定如何进行。有什么线索吗?下面是我的代码:在Class1中:
public void onClick(final View view) {
switch (view.getId()) {
...cases..
case R.id.button_done:
...case stuff...
Intent intent = new Intent();
if(abcNews != null && abcNews.size() > 0){
for(CategoryCheckableRow rwa : abcNews){
if(rwa.isSelected()){
String catCode = rwa.getCategoryName();
intent.putExtra("cat_name", catCode);
Log.d("newsdash", "category name is"+catCode);
break;
}
}
}
if(cnnNews != null && cnnNews.size() > 0){
for(CategoryCheckableRow rwa : cnnNews){
if(rwa.isSelected()){
String catCode = rwa.getCategoryName();
intent.putExtra("cat_name", catCode);
break;
}
}
}
如下面的代码所示,在这两个循环中,我定义了catCode,我需要将其传递给类2,以便: Class2:
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
frontpageHeader = view.findViewById(R.id.frontpage_header);
((TextView) frontpageHeader.findViewById(R.id.header_title)).setText(getActivity().getString(catCode));
frontpageHeader.setOnClickListener(this);
}
附注:请注意,我一次只使用一个类别,也就是说,要么选择abnews中的catCode,要么选择cnnNews,并且该字符串被识别并需要传递到另一个类class2,在那里它基于选定的文本更新标题。
发布于 2014-04-18 00:09:20
您已经将catCode放入了您的意图中,但我认为您的问题是您的Class2是一个片段,而不是一个活动,所以当您在代码中创建片段时,您必须在要启动的活动中放入类似下面这样的内容
Bundle extras = getIntent().getExtras();
fragment.setArguments(extras);
在你的片段中
Bundle bundle = getArguments();
String catCode = bundle.getString("cat_name");
https://stackoverflow.com/questions/23137972
复制相似问题