我尝试使用本教程如何提供如此代码中的后退导航
https://developer.android.com/training/implementing-navigation/temporal.html
<activity android:name=".controller.general.AccountPickerScreen"
android:parentActivityName="ph.edu.upm.agila.extendthelife.controller.general.LogInScreen">
<intent-filter>
<action android:name="ph.edu.upm.agila.extendthelife.controller.general.AccountPickerScreen" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
我已经指定了parentActivityName,但每当我按下后退按钮时,应用就会退出?任何解决方案?
尝试了这个
public void onBackPressed() {
Intent intent = NavUtils.getParentActivityIntent(AccountPickerScreen.this);
startActivity(intent);
finish();
}
它确实有效但我想知道它是否是正确的方法呢? finish()完全做什么
答案 0 :(得分:2)
您可能需要覆盖活动的onBack并使用NavUtils通过以下行来完成您想要的操作:
Intent intent = NavUtils.getParentActivityIntent(AccountPickerScreen.this);
答案 1 :(得分:0)
api级别低于16,尝试添加
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="fully qualified path to Activity Class Name" />
在androidmanifest.xml中的activity标签
答案 2 :(得分:0)
<activity android:name=".controller.general.AccountPickerScreen">
<intent-filter>
<action android:name="ph.edu.upm.agila.extendthelife.controller.general.AccountPickerScreen" />
<category android:name="android.intent.category.DEFAULT" />
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="ph.edu.upm.agila.extendthelife.controller.general.LogInScreen" />
</intent-filter>
</activity>
用`
覆盖onBackPressed NavUtils.navigateUpFromSameTask(this);`
答案 3 :(得分:0)
我遇到了一个问题,即父按钮可以处理某些活动而不是其他活动。
问题是我的onOptionsItemSelected函数。默认情况下它返回true,阻止了呼叫完成。你应该调用super.onOptionsItemSelected(item)。