我有一个问题,当我在一个活动上点击后退按钮时,特别是活动上的后退按钮会关闭应用程序并销毁所有的活动,我想回到堆栈中,并且在点击后退按钮时回到之前调用的活动中。
这是我的代码。
ChatToolBar = (Toolbar) findViewById(R.id.chat_bar_layout);
setSupportActionBar(ChatToolBar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View action_bar_view = layoutInflater.inflate(R.layout.chat_custom_bar, null);
actionBar.setCustomView(action_bar_view);
我的 AndroidManifest.xml:
<activity
android:name=".ChatActivity"
android:parentActivityName=".ProfileActivity" />
我也试过了。
<activity
android:name=".ChatActivity"
android:parentActivityName=".ProfileActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ProfileActivity" />
</activity>
问题应该出在哪里?
我刚刚用这段代码解决了这个问题。
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item)
{
int id = item.getItemId();
if (id == android.R.id.home)
{
SendUserToMainActivity();
}
return super.onOptionsItemSelected(item);
}
private void SendUserToMainActivity()
{
Intent mainIntent = new Intent(ChatActivity.this, MainActivity.class);
mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK );
startActivity(mainIntent);
finish();
}
你可以在动作栏中添加返回按钮
在mainfest.xml中
<activity .ActivityB" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ActivityA" />