您的位置:首页 > 大数据 > 人工智能

Fragment中的Activity跳转到MainActivity中的其他Fragment方法

2017-03-03 11:03 344 查看
刚开始想用广播实现,后来发现不行,一直报fragment的onSaveInstance错误

最后发现自己想复杂了

直接用startActivity中intent携带参数就能实现

注意:如果activity启动模式是singleTask是不能通过intent传值的,会报空指针,要把MainActivity设置成其他启动模式

直接上代码:

//  跳转到我的工单
Intent intent2=new Intent(getApplicationContext(),MainActivity.class);
intent2.putExtra("showMyItem","showMyItem");
intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent2);


在MainActivity中获取intent的extra

在activity的onResume()方法中获取

@Override
protected void onResume() {
//  显示我的工单列表
if (getIntent().getStringExtra("showMyItem")!=null){
if (getIntent().getStringExtra("showMyItem").equals("showMyItem")){
saveName=wokrFragment.getClass().getName();
//显示需要显示的fragment

showMyWorkFragment();
}
}
super.onResume();
}


/**
* 显示我的工单列表
*/

private void showMyWorkFragment() {
showFragment(myWorkFragment);
imgMain.setImageResource(R.mipmap.main1);
imgWork.setImageResource(R.mipmap.workitem1);
imgMyWork.setImageResource(R.mipmap.mywork2);
tvMain.setTextColor(getResources().getColor(R.color.color_main));
tvWork.setTextColor(getResources().getColor(R.color.color_main));
tvMyWork.setTextColor(getResources().getColor(R.color.main_color));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: