我的应用中存在问题。我有一个带有Fragments的MainActivity,每个Fragment都有一个带有recyclerView的列表。当我单击列表的项目时,应用程序将转到新的DetailActivity。
在DetailActivity中,我有下一个代码行:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
当我单击ActionBar中的后退按钮时,我返回另一个片段中的MainActivity,而不是我点击该项目的片段。
谢谢!
答案 0 :(得分:0)
如@kareem adel所述,请确保您没有结束之前的活动。不要使用Flag_activity_clear_task或flag_activity_new_task
如果这没有帮助,你可以告诉后退按钮去哪里。
使用getSupportActionBar()。setDisplayHomeAsUpEnabled(true);设置你可以这样做:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
else if(id == android.R.id.home){
//Back button was hit so go somewhere.
Intent i= new Intent(this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); //Clear previous Activities
startActivity(i);
finish(); //End this activity.
return true;
}
return super.onOptionsItemSelected(item);
}