0

我无法弄清楚这个问题。我在我的应用程序中使用 ActionBarSherlock,它由主要活动内的两个片段组成。每个片段都包含一个从数据库填充的列表。其他一切工作正常。后退按钮似乎有问题。理想情况下,它应该终止应用程序,但在我的情况下,当我从片段中按下后退按钮时,它不会退出应用程序,而是显示带有空列表的片段,我必须再次按下后退按钮才能终止应用程序。我读了这篇文章,但无法弄清楚如何解决这个问题。 片段:按下返回按钮并自定义它时调用哪个回调 请帮助!

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

    }

}
4

2 回答 2

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);
}
于 2013-01-14T23:49:01.487 回答
0

谢谢回复!在清单中设置 android:noHistory="true" 解决了这个问题。

于 2013-01-16T08:02:03.437 回答