intent.putExtra("is_back", "1");
startActivity(intent);
带上参数,跳转,如上代码。
然后在Fragment中重新onNewIntent方法,在onNewIntent方法下面做判断就行了
protected void onNewIntent(Intent intent) {
if(intent.getStringExtra("is_back").equals("null")||intent.getStringExtra("is_back").equals("0")){
FragmentManager fm=getSupportFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
v1=new View1();
ft.replace(R.id.home_layout, v1,MainLingActivity.TAG);
ft.commitAllowingStateLoss();
setChageok(img1, text1);
setChageno(img2, text2);
setChageno(img3, text3);
setChageno(img4, text4);
}else if(intent.getStringExtra("is_back").equals("1")){
FragmentManager fm=getSupportFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
v3=new View3();
ft.replace(R.id.home_layout, v3,MainLingActivity.TAG);
ft.commitAllowingStateLoss();
setChageno(img1, text1);
setChageno(img2, text2);
setChageok(img3, text3);
setChageno(img4, text4);
}
};
如上代码,切记 不能用ft.commit,会报错的,此处应该使用commitAllowingStateLoss();