【问题标题】:How to probably handle Back Button如何可能处理后退按钮
【发布时间】:2016-12-02 07:42:36
【问题描述】:

我知道这是一个常见问题,但没有一个线程提供正确/有效的答案。

我有一个 MainActivity,其中包含 6 个不同的片段,我有一个抽屉菜单,还有一个 startActivity,它在启动时包含一个带有徽标和应用名称的闪存屏幕

我的问题如下:

  1. 当我在主要活动中打开抽屉然后点击后退按钮时它会关闭菜单然后当我再次打开它并点击后退按钮时它会转到 startActivity 而不是关闭菜单

  2. 当我在其中一个片段中并且抽屉菜单打开并且我点击后退按钮时,它会保持菜单打开并转到上一个片段/活动

  3. 我从不希望我的 backButton 将我带到 startActivity... 这可能吗?

这是我在 MainActivity 中的 onBackPressed() 方法

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);



    if (drawer.isDrawerOpen(GravityCompat.END )) {
        drawer.closeDrawer(GravityCompat.START);}

    else
      super.onBackPressed();


}

ps:如果您不知道我在说什么或不知道答案,尽管感谢,但请不要输入任何答案或错误的答案,这只会使这个线程比需要的更长。

谢谢你:)

【问题讨论】:

    标签: android android-fragments back


    【解决方案1】:

    使用“splashscreens”,您可以通过在AndroidManifest.xml 文件中的相关activity> 条目中将android:noHistory 属性设置为“true”,将它们从“后台堆栈”中删除。例如:

    <activity
        android:name=".startActivity"
        android:noHistory="true" />
    

    【讨论】:

    • 谢谢,这有效并解决了第三个问题:)
    猜你喜欢
    • 2012-01-24
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2011-07-15
    相关资源
    最近更新 更多