我目前只能返回一个父活动,这是我的启动页面。我正在使用标题栏(左上角)上的后退按钮。我想使后退按钮可以返回到上一页,而不是直接返回启动页面(无论如何,返回前都有白屏)。
我尝试了以下代码,我的启动页面是Aucon,对于某些活动,我想返回的页面是SignIn页面,但我不能。我的代码有什么问题吗?还是自然不允许这样做?请指教。
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".AucOn">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Register"
android:label="Register"
android:parentActivityName=".AucOn" />
<activity
android:name=".SignIn"
android:label="Home"
android:parentActivityName=".AucOn" />
<activity
android:name=".BuyerHome"
android:label="Buyer Home"
android:parentActivityName=".SignIn" />
<activity
android:name=".Instructions"
android:label="Instructions"
android:parentActivityName=".AucOn" />
<activity
android:name=".CustomerSupport"
android:label="Customer Support"
android:parentActivityName=".AucOn" />
<activity android:name=".ForgotPassword"
android:label="Forgot Password"
android:parentActivityName=".AucOn" />
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
</application>
答案 0 :(得分:0)
尝试使用OnBackPressed()
覆盖方法。将带您到上一个屏幕。
YourBackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
我希望这可能有用。
答案 1 :(得分:0)
根据我所看到的,我认为您想在某些活动中实现Android上的后退按钮,而不要进行onBackPressed()
活动。如果我是对的,那么您可以在所需的活动中覆盖SignIn
方法,并按如下所示打开@Override
public void onBackPressed() {
startActivity(new Intent(CurrentActivity.this, SignIn.class);
}
活动:
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(CurrentActivity.this, SignIn.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
}
});
这将指示活动查找在Android上真正按下的后退按钮,然后打开所需的活动。
现在,对于工具栏的后退按钮,您必须像这样设置导航点击侦听器:
{{1}}
这将为工具栏的后退按钮单击添加点击侦听器。