【发布时间】:2012-12-28 22:13:11
【问题描述】:
我无法弄清楚这个问题。我在我的应用程序中使用 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
}
}
【问题讨论】:
-
你在使用 addToBackstack() 函数吗?您可以发布有关 FragmentTransactions 的代码吗?
-
不,对 android 来说相对较新。不使用 FragmentTransactions。
-
如何将片段添加到活动中?您是否使用静态片段(从 xml 创建)?没有代码就很难找到问题
-
我只想在从片段中按下后退按钮时终止应用程序,但我无法覆盖片段中的 onBackPressed()。有没有办法从片段中退出应用程序?这就是我想知道的??
-
onBackPressed 事件在活动内部处理,您可以从那里完成该活动。您还可以通过调用 getActivity().finish() 从片段中关闭应用程序。 (但最好找到一个好的片段实现,然后使用这些“黑客”来获得所需的功能)我将发布一个链接到关于 actionbartabs 和片段的教程