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

刚开始想用广播实现,后来发现不行,一直报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));
}


你可能感兴趣的:(Fragment中的Activity跳转到MainActivity中的其他Fragment方法)