跟踪当前显示的片段

时间:2013-07-21 12:30:26

标签: android android-fragments android-fragmentactivity

我在一个片段活动中添加了几个片段,在点击我的后退按钮后,有没有办法让用户看到哪个片段?

我试图通过在首选项中保存当前片段的标记然后在按下后退按钮时更新它来尝试这样做。这是一个但很乏味但却有效的。但是我觉得使用系统提供的任何方法都更好。

不幸的是onResume和onStart在这种情况下似乎不适用于片段。

有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

我在工作中也面临这种情况: 我是这样做的:

片段活动的子类来管理推送和弹出

public class KFragmentActivity extends FragmentActivity{

private KFragment currentFragment;


//add new fragment
public void pushFragment(Class clz) {

  //fragment = new fragement instance;
  //hold the current instance
  currentFragment = fragment;
}


//
public void popTopFragment() {
    getSupportFragmentManager().popBackStackImmediate();
    currentFragment = null;
    int cnt = getSupportFragmentManager().getBackStackEntryCount();
    if (cnt > 0) {
        String name = getSupportFragmentManager().getBackStackEntryAt(cnt - 1).getName();
                    //hold current instance
        currentFragment = (KFragment) getSupportFragmentManager().findFragmentByTag(name);
        currentFragment.onBackFailed(null);
    }
   }

 }