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

时间:2014-11-18 12:25:38

标签: java android android-fragments

我的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;
}

非常感谢!

0 个答案:

没有答案