我无法弄清楚这个问题。我在我的应用程序中使用ActionBarSherlock,它包含主活动中的两个片段。每个片段包含一个从数据库填充的列表。其他一切都很好。后退按钮似乎有问题。理想情况下它应该终止应用程序,但在我的情况下,当我从片段中按下后退按钮,而不是退出应用程序时,它显示带有空列表的片段,我必须再次按下后退按钮来终止应用程序。我读过这篇文章,但我无法弄清楚如何解决这个问题。 Fragment: which callback invoked when press back button & customize it 请帮忙!!
protected class MyTabListener implements ActionBar.TabListener
{
Fragment fragment;
public MyTabListener( Fragment fragment) {
// TODO Auto-generated constructor stub
this.fragment=fragment;
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft.replace(R.id.fragment_place,fragment,null);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft.remove(fragment);
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
答案 0 :(得分:1)
您可以直接从主活动(在其中定义与每个选项卡或面板关联的片段)中实现onKeyDown方法,例如:
public class main_pager extends SherlockFragmentActivity{
...
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:0)
感谢您的回复! 在清单中设置android:noHistory =“true”解决了这个问题。