我正在使用的Android应用程序设计调用“向上”按钮的行为与“后退”按钮的行为相同,但我不确定如何实现这一点。
我知道必须为活动提供“向上”按钮指定android:parentActivityName
,但指定固定的父活动对活动没有意义。想象一下活动A,B和C的这种情况:
如果我要为每个活动指定android:parentActivityName
,那么将B和C的父活动设为A是有意义的,但这意味着每次我们从活动B或C点击“向上”按钮时,我们降落在活动A(这并不总是应该发生的事情)。
有没有人有这类事情的经验?
答案 0 :(得分:54)
从您的所有三项活动中添加以下内容
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return(super.onOptionsItemSelected(item));
}
当您按下应用程序上的向上按钮时,它将调用onOptionsItemSelected
,其ID为android.R.id.home
,只需抓住该案例并手动调用onBackPressed()
答案 1 :(得分:0)
科特琳
对于Kotlin时代来这里的任何人,如果您set your toolbar up with the NavController,“向上”按钮的行为将类似于后退按钮。
toolbar.setupWithNavController(findNavController(R.id.nav_host_fragment),findViewById(R.id.full_drawer_layout))