我有一个片段,其中创建了一个listview。单击列表时,将刷新相同的列表,并在其上加载其子元素。谁能告诉我如何在android中启用backbutton来获取父列表?
答案 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();
}