繁体   English   中英

按下后退按钮时,Android应用程序关闭

[英]Android app closes when back button pressed

我有以下活动,当选择了选项卡时,它将启动一个片段:

public class MainActivity extends Activity implements TabListener {
    Fragment f = null;
.....

    public void onTabSelected(Tab tab, FragmentTransaction ft) {

        .....

        if (tab.getPosition() == 0) {
            if (initalSync == true) {
                progress1.setVisibility(TRIM_MEMORY_UI_HIDDEN);
            }
            f = new EventFragment();
            Bundle data = new Bundle();
            data.putInt("idx", tab.getPosition());
            f.setArguments(data);

        }
        if (tab.getPosition() == 1) {
            progress1.setVisibility(TRIM_MEMORY_UI_HIDDEN);
            f = new MapsFragment();
            Bundle data = new Bundle();
            data.putInt("idx", tab.getPosition());
            f.setArguments(data);

        }
        .....    
        ft.replace(android.R.id.content, f);

    }

每当我按任意片段上的“电话返回”按钮时,它都会关闭我的应用程序。 我知道这与Backstack有关,但是我尝试过的每种方法都失败了。

有任何想法吗?

如果您不希望在按下回车键时关闭活动,则需要将片段添加到Backstack中,您所要做的就是调用以下方法:

ft.addToBackStack(null)

在您替换并提交交易之前。 这样,您正在使用的片段注入将被跟踪,并且后退按钮将变为previos片段,直到执行第一个操作,然后它将关闭应用程序。

问候!

您需要在Transaction上调用addToBackstack(null)以将片段添加到Backstack。 然后,后退按钮应还原到上一个片段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM