利用Intent在活动、碎片与活动间传递简单的数据

本文详细介绍了Android应用中三种常见的数据传递方式:活动间传递、碎片到活动传递以及活动到碎片的数据传递。通过示例代码展示了如何利用Intent进行数据打包与提取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用intent在活动和碎片与活动之间传递数据是比较简单的,intent方法提供了许多putExtra方法的重载可供我们的各种需求。intent可以把一些数据暂存,当跳转到另一个页面之后数据也会随着跳转到相应的页面,这样就可以在之后的页面对数据进行处理.我所了解的有传递方法有(当然其他的实现方法还有很多,我会继续努力探索更多的实现方法分享给大家)

第一种:活动之间数据的传递(FiratActivity传递数据到SecondActivity)  

    首先在FirstActivity里的设置:

 Intent intent = new Intent(FirstActivity.this,SecondActivity.class);

       intent.setAction("action");

       intent.putExtra("String", "Hello world!"); 

       startActivity(intent);

    然后就是SecondActivity 里面的代码:

Intent intent = getIntent();

        if("action".equals(intent.getAction())) {

            String data = intent.getStringExtra("String");

            Log.w("hello", data);

        }

:Log.w();方法可以在控制台打印日志来印证数据是否传送成功。

第二种:碎片传递数据到活动(碎片传递数据到SecondActivity)

碎片中的设置:

Intent intent = new Intent(getActivity(),secondActivity.class);

                    intent.setAction("action");

                    intent.putExtra("String", "Hello world!");

                    getActivity().startActivity(intent);

  SecondActivity中的设置:

Intent intent = getIntent();

        if("action".equals(intent.getAction())) {

            String data = intent.getStringExtra("String");

            Log.w("hello", data);

        }

第三种:活动传递数据到碎片

 活动中的设置:(对碎片进行实例化然后使用bundle进行传递数据)   

MyFragment fragment=new MyFragment();
        Bundle bundle=new Bundle();
        bundle.putString("msg", "hello");
        fragment.setArguments(bundle);

碎片中的设置:

Bundle bundle= MyFragment.this.getArguments();
bundle.getString("msg");

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值