使用“后退”按钮返回上一屏幕

时间:2019-02-12 14:55:52

标签: android

当我的应用启动时,它会显示“登录”(如果您未登录),可以注册 在注册屏幕中,如果您按回btn,则不会返回登录,但应用程序正在关闭。有什么想法吗?

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher"
    android:supportsRtl="true"
    android:theme="@style/Theme.Design.Light.NoActionBar">
    <activity android:name=".LoginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".RegisterActivity"
        android:screenOrientation="portrait">
    </activity>
    <activity
        android:name=".MainActivity"
        android:screenOrientation="portrait">
    </activity>
    <activity
        android:name=".Setting"
        android:screenOrientation="portrait">
    </activity>
    <activity
        android:name=".History"
        android:screenOrientation="portrait">
    </activity>
    <activity
    android:name=".Fall_test"
    android:screenOrientation="portrait">
</activity>
    <activity
        android:name=".Examples"
        android:screenOrientation="portrait">
    </activity>
</application>

2 个答案:

答案 0 :(得分:1)

当您开始注册活动时,例如

Intent mIntent = new Intent(LoginActivity.this, RegisterActivity.class);
startActivity(mIntent);
this.finish(); OR LoginActivity.this.finish();

只要使用以下一项,就将其删除

this.finish(); OR LoginActivity.this.finish();

并像这样启动RegisterActivity

Intent mIntent = new Intent(LoginActivity.this, RegisterActivity.class);
startActivity(mIntent);

当您按下RegisterActivity中的后退按钮时,它将使您返回LoginActivity。

答案 1 :(得分:0)

当您移至其他活动时,您正在完成/销毁活动。当您从一个活动转到另一个活动时,旧活动将保留在堆栈中。当您按下返回按钮时,它会从堆栈中弹出。因此,如果您在迁移到新旧版本时完成了旧版本,则该活动将不会保留在堆栈中,因此由于堆栈上没有任何活动,因此您被迫退出该应用程序。