Java 在片段(相同)事务期间重新加载OnOptions ItemSelected中的数据

Java 在片段(相同)事务期间重新加载OnOptions ItemSelected中的数据,java,android,android-fragments,Java,Android,Android Fragments,我的Android应用程序有问题。 我有一个带有片段的活动,其中有一个元素列表(关于一个ID为的论坛)和一个带有2个按钮的操作栏:刷新和新建。 我想将当前ID发送到“新建按钮”,以打开其他活动的意图 问题是:当我在片段(ListTopic.java)中启动另一个(相同的)片段(ListTopic.java)以打开另一个论坛(然后使用其他ID)时,“新建按钮”的ID与以前的论坛相同,而不是新的 因此,如果我打开了ID为33的论坛,当我单击ID为200的子论坛时,新按钮的ID为33 这是我使用新fo

我的Android应用程序有问题。 我有一个带有片段的活动,其中有一个元素列表(关于一个ID为的论坛)和一个带有2个按钮的操作栏:刷新和新建。 我想将当前ID发送到“新建按钮”,以打开其他活动的意图

问题是:当我在片段(ListTopic.java)中启动另一个(相同的)片段(ListTopic.java)以打开另一个论坛(然后使用其他ID)时,“新建按钮”的ID与以前的论坛相同,而不是新的

因此,如果我打开了ID为33的论坛,当我单击ID为200的子论坛时,新按钮的ID为33

这是我使用新forumId的代码:

    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;
}
@覆盖
创建选项菜单(菜单菜单,菜单充气机){
menu.clear();
充气机。充气(右菜单。菜单\主题,菜单);
super.onCreateOptions菜单(菜单,充气机);
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例R.id.菜单\主题\更新:
this.dialog=newprogressdialog(getActivity());
子流程列表=新的ArrayList();
TopicList asyncTopic=新建TopicList();
asyncTopic.execute();
打破
案例R.id.菜单\主题\新建:
Intent newTopic=newintent(getActivity(),NewTopicActivity.class);
newTopic.putExtra(pkg+“用户”,用户);
newTopic.putExtra(pkg+“PASS”,密码);
newTopic.putExtra(pkg+“FORUMID”,FORUMID);
星触觉(新视);
打破
违约:
返回super.onOptionsItemSelected(项目);
}
返回true;
}
非常感谢