【问题标题】:Android activity closing entire app on back button pressAndroid活动在后退按钮按下时关闭整个应用程序
【发布时间】:2013-03-14 06:52:35
【问题描述】:

我的应用中有一个主要活动。该活动创建了另外两个活动(在不同的时间)。一个是设置活动,另一个是自定义活动。

现在我的问题是当我在设置活动中并按下后退按钮时,它会返回到主要活动。很棒,就像它应该的那样。但是现在当我在我的自定义活动中并按下后退按钮时,整个应用程序都会关闭??它不会像应有的那样返回到主要活动。

我不知道为什么会这样,因为我实例化两个类的方式是相同的,并且清单文件对于两个活动都是相同的。

调用活动的代码:

Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);

Intent intent = new Intent(this, PacketActivity.class);
startActivity(intent);

清单文件:

<activity
    android:name="com.example.tcptester.SettingsActivity"
    android:label="@string/title_activity_settings" >
</activity>
<activity
    android:name="com.example.tcptester.PacketActivity"
    android:label="@string/title_activity_packet">
</activity>

为什么会这样?

【问题讨论】:

  • -1 因为您给出了不同的代码,并且答案中的代码不同假设这两种情况之间没有联系。这就是为什么我们无论如何都无法为您提供帮助的原因。

标签: android button android-activity back


【解决方案1】:

我发现了问题,

我想我会为可能有同样问题的其他人发布答案,

问题出在我的 switch 语句中:我遗漏了 return true。

    switch (item.getItemId()) {
    case R.id.menu_packet: {
        Intent intent = new Intent(this, PacketActivity.class);
        startActivity(intent);
        /*-->>>>> i did not have this here:*/ return true;
    }
    case R.id.menu_settings: {
        Log.i("Menu Item Clicked", "Settings");
        Intent intent = new Intent(this, SettingsActivity.class);
        startActivity(intent);
        return true;
    }       
    default: {
        return super.onOptionsItemSelected(item);
    }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 2017-03-28
    • 2014-01-02
    相关资源
    最近更新 更多