片段 Android 中的后退按钮 - 相关

Back button in fragment Android-Related

我有一个创建列表视图的片段。单击列表时,将刷新同一个列表,并加载其子元素。谁能告诉我如何启用 android 中的后退按钮来获取父列表?

你可以覆盖你的 activity 的 onBackPressed() 并通过 FragmentManager 获取片段实例,然后做你想做的事。

你必须从 Activity 的 onBackPressed 回调到 Fragment 并检查 Fragment 是否有子元素打开。

活动中

public void onBackPressed()
{
  if(!fragment.onBackPressed())//onBackPressed in fragment is your own function
  {
    super.onBackPressed();
  }
}

在片段中

public boolean onBackPressed() //your custom onBackPressed not overrided
{
  if(childListOpen)
  {
    //close the child list
    return true;
  }
  else
  {
   // whatever to do in back pressed of list
    return false;
  }   
} 

为简单起见,在 activity 中定义一个静态变量来跟踪当前可见的片段,例如

public static fragIndex = 0;

然后在您的片段 oncreateView 返回视图之前将其相应地设置为片段。就像在列表视图片段中一样

MainActivity.fragIndex = 0;

以及详细片段

MainActivity.fragIndex = 1;

现在对你的活动 onbackpressed 方法做点赞

if(fragIndex == 0){
//whatever you want to do.
}else if(fragIndex == 1){
// change the fragment back to list view
}

使用方法onResume()

@Override
public void onResume() { // TODO Auto-generated method stub
    super.onResume();
}