我有活动A,B和C.他们都向前和向后导航。在这3个活动中的任何一个中,我都可以开始词汇表活动。当我返回/退出时,无论先前的活动是什么,它都会转到活动A(它是清单中定义的父级)。我是否需要更改清单中的内容?
Intent intent = new Intent(this, glossary.class);
startActivity(intent);
答案 0 :(得分:0)
我不确定更改清单中的任何内容是否会有所帮助。您可以尝试下面的代码,我们将覆盖“向上”按钮的实现并调用onBackPressed()
。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return(true);
}
return(super.onOptionsItemSelected(item));
}
请告诉我这是否有帮助!
答案 1 :(得分:0)
如果你想回到堆栈上的前一个Activity
(开始GlossaryActivity
之前的那个),你不需要定义你的父Activity
GlossaryActivity
,因此您只需要在清单中删除此行。
然后,当您按下后退按钮时,它会自动关闭您当前的活动并返回上一个活动。
另一点:如果您使用与后退按钮相同的ActionBar
或Toolbar
箭头,则应在GlossaryActivity
中执行此操作以返回上一页Activity
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_messages);
...
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
...
}
和
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}