我在点击活动的后退按钮时遇到问题,特别是活动的后退按钮关闭应用程序并破坏所有活动,我想回到堆栈中,并在点击后退按钮时返回之前调用的活动。
这是我的代码:
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);
我的安卓清单.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();
}
您可以在操作栏中添加按钮
在主节.xml
<activity .ActivityB" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ActivityA" />