片段Android相关的后退按钮

时间:2015-03-27 04:41:34

标签: android fragment

我有一个片段,其中创建了一个listview。单击列表时,将刷新相同的列表,并在其上加载其子元素。谁能告诉我如何在android中启用backbutton来获取父列表?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

你必须从onBackPressed of Activity回到Fragment回调,如果有子元素打开则检查Fragment。

在Activiity中

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

答案 2 :(得分:0)

为简单起见,在活动中定义一个静态变量,用于跟踪当前可见的片段,如

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
}

答案 3 :(得分:0)

使用方法onResume()

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