0

我目前正在使用来自https://github.com/jfeinstein10/SlidingMenu的 android 滑动菜单库。这很棒,但我不知道如何在不重新创建新片段的情况下切换。

我有两个名为 A、B 的片段。一个菜单列表:项目 A、项目 B。

我按照教程,在 onListItemClick 我有:

public void onListItemClick(ListView l, View v, int position, long id){
    Fragment newContent = null;
    switch (position) {
      case 0:
        newContent = new FragmentA();
        break;
      case 1:
        newContent = new FragmentB();
        break;
}

如您所见,当我单击 ItemA/ItemB 时,它将创建新的片段 A/B。我怎样才能避免这种情况?如何在不重新创建新片段的情况下转到任一片段?相反,它将直接指向旧片段。提前致谢。

4

1 回答 1

0

使用 Android 文档使用的 newInstance 模式并覆盖 newInstance 方法的默认行为:

private static MyFragment instance;

public static MyFragment getInstance(String p1, String p2) {
    if( instance == null ) {
        MyFragment fragment = new MyFragment();
    }
    Bundle args = new Bundle();
    args.putString(ARG_1, p1);
    args.putString(ARG_2, p2);
    fragment.setArguments(args);
    return fragment;
}

然后每次需要显示这个片段时,只需调用MyFragment.getInstance("","").

于 2014-09-15T05:07:54.583 回答