我的Android应用程序存在问题。 我有一个活动,其片段包含元素列表(关于具有ID的论坛)和带有2个按钮的操作栏:refresh和new。 我想将当前ID发送到“新按钮”,以打开其他活动的意图。
问题是:当在片段(ListTopic.java)中我启动另一个(相同的)片段(ListTopic.java)来打开另一个论坛(然后使用其他ID)时,“新按钮”具有与之前相同的ID论坛而不是新的。
因此,如果我打开了ID为33的论坛,当我点击ID为200的子论坛时,新按钮的ID为33。
这是我参加新论坛的代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_list_topics, container, false);
parent = new Forum();
count = 10;
imageLoader = new ImageLoader(getActivity());
Bundle bundle = getArguments();
pkg = getActivity().getPackageName();
forumId = bundle.getString(pkg + "FORUMID");
user = bundle.getString(pkg + "USER");
password = bundle.getString(pkg + "PASS");
nome = bundle.getString(pkg + "NOME");
parent = (Forum) bundle.getSerializable(pkg + "parent");
这是代码的结尾:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.menu_topic, menu);
super.onCreateOptionsMenu(menu,inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_topic_update:
this.dialog = new ProgressDialog(getActivity());
subForumList = new ArrayList<Forum>();
TopicList asyncTopic = new TopicList();
asyncTopic.execute();
break;
case R.id.menu_topic_new:
Intent newTopic = new Intent(getActivity(), NewTopicActivity.class);
newTopic.putExtra(pkg + "USER", user);
newTopic.putExtra(pkg + "PASS", password);
newTopic.putExtra(pkg + "FORUMID", forumId);
startActivity(newTopic);
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
非常感谢!