Intent传值和Bundle传值

Android 为我们提供了两个比较常用的传值对象:Intent 和 Bundle ;

用途:一般情况下,我们在 Activity 中传值用 Intent ,而在 Fragment 中传值用 Bundle;

1. Intent 传值(Activity 中使用)

下面就来先看 Intent 在 Activity 中传值的示例(ActivityA 传值到 ActivityB):

ActivityA 的代码为(传了两个值,姓名和爱好):

        Intent intent = new Intent(ActivityA.this,ActivityB.class);
        intent.putExtra("name","张三");
        intent.putExtra("like","女");
        startActivity(intent);

ActivityB 的代码为(接收两个值,姓名和爱好并且打印出来):

        String name = getIntent().getStringExtra("name");
        String like = getIntent().getStringExtra("like");
        Log.e("=====name", name);
        Log.e("=====like", like);

上面就是 Intent 传值的使用,下面是打印的结果,可以看出传值成功:

2. Bundle 传值(Fragment 中使用)

下面就来先看 Bundle 在 Fragment 中传值的示例(FragmentA 传值到 FragmentB):

FragmentA 的代码为(传了两个值,姓名和爱好):

            FragmentB fragment = new FragmentB();
            Bundle bundle = new Bundle();
            bundle.putString("name", "李四");
            bundle.putString("like", "男");
            fragment.setArguments(bundle);

FragmentB 的代码为(接收两个值,姓名和爱好并且打印出来):

        String name = getArguments().getString("name");
        String like = getArguments().getString("like");
        Log.e("=====name", name);
        Log.e("=====like", like);

上面就是 Bundle 传值的使用,下面是打印的结果,可以看出传值成功:

上面就是 Intent 传值和 Bundle 传值的使用

更多内容戳我&

猜你喜欢

转载自blog.csdn.net/wuqingsen1/article/details/82994971