activity中跳转到fragment的思路

在android应用开发中,我们经常会遇到activity跳转到fragment或者activity跳转到activity,但是对于activity中跳转到fragment中,这个是不能够直接去跳转的,所以下面就谈一下我的理解,如果有更好的可以谈论。当然你也说用eventBus等第三方的库,我只是提供我的思路,方法各异。

既然不能直接就去跳转到fragment,我就先去跳转到Activity中,根据Activity中显示的方法去显示我需要的fragment。

Intent mIntent = new Intent(this, MainActivity.class);
mIntent.putExtra("statuCar", "1");
startActivity(mIntent);
finish();
通过这个代码传到了MainActivity。
这边需要注意的是这个MainActivity我们需要将它的启动模式设置成
android:launchMode="singleTask",

栈内复用模式,不会造成每次都要new一个新的mainActivity出来。

接着就是在MainActivity中如何去接收了,因为如果单单getIntent来判断返回值的话会出现只要你的statuCar有值,将会一直存在。
所以在MainActivity中我是这么去接收的:
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    Log.e("onNewIntent", "onNewIntent: ");
    String statuCar = intent.getStringExtra("statuCar");
    if (!TextUtils.isEmpty(statuCar)) {
        show(shoppingcarFragment);
        tabSelected(ll_shopping);
        Log.i("TAG", "initView: " + statuCar);
    }

}
是在onNewIntent方法中进行的判断这个方法的特性就是只要有这个intent传过来,那么就执行这个方法而不去执行onCreate()方法,onNewIntent()---->onResart()------>onStart()----->onResume()生命周期就发生了更改
 
   
有兴趣的可以自行去百度看看这个方法,以上是我的思路,虽然问题挺简单,但我还是去想想自己有收获就好。
 
   

你可能感兴趣的:(android学习笔记)