Android返回多级Activity
Android返回多级Activity
在写任务的时候,发现返回键使用finish方法时需要一级一级返回,若使用传参方法修改返回事件则会变得比较为复杂。网上搜了一下简便一点的方法。大致方法如下
1.修改mainfest
假设activity为A activity->…->B activity。需要达到的效果为点击B返回按钮时,跳转回A界面。第一步需要修改的为在mainfest中在A中增加android:launchMode=“singleTop”`
<activity
android:name=".A"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="adjustPan"
android:launchMode="singleTop"/>
2.在 Activity中重写onNewIntent方法
代码如下
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (0 != (Intent.FLAG_ACTIVITY_CLEAR_TOP&intent.getFlags())) {
finish();
}
}
3.修改B Activity中的返回按钮时间
代码如下
bt_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle = new Bundle();
Intent intent = new Intent(B.this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtras(bundle);
startActivity(intent);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
}
});