如何在Android开发中activity之间数据传递

2024-12-21 15:09:21
推荐回答(2个)
回答1:

1,A页面利用intent对象的putExtra()方法传值,B页面利用getStringExtra()、getIntExtra()等系列方法来一一接收值;

2,A页面利用bundle对象来保存所有需要传递的数值,通过intent的putExtras()方法传值,B页面利用intent对象的getExtras()方法返回bundle对象,将所有接收的数据放在bundle对象中,利用bundle的get系列方法一一去除数据。

【备注:】如果A页面使用putExtras()方法传值,则B页面使用getExtras()接收值。如果A页面使用putExtra()方法传值,则B页面要使用getBundleExtra()方法接收值。


A页面核心代码:

Intent intent = new Intent(MainActivity.this, NextActivity.class);

Bundle bundle = new Bundle();

bundle.putString("myname", "hehaitao");

bundle.putInt("age", 16);

intent.putExtras(bundle);

startActivity(intent);

B页面核心代码:

// 接收第一个页面的传值

Intent intent = getIntent();

Bundle bundle = intent.getExtras();

String name = bundle.getString("myname");

int age = bundle.getInt("age");

this.setTitle(name + ":" + age);

回答2:

除了楼上的使用Intent之外也还有很多方法的..
创建静态对象. 静态对象值在类加载时就已经创建好, 只有到程序结束时, 该对象才被释放. 所以..不管在UI线程也好.. 子线程也罢. 他的数据不变
可以使用广播事件. BroadCast.. 相对来说用的比较少.. 你可以重写一个类来继承他的发送和注册方法.
Intent方法. 主要用于调用系统内部功能.. 如,相机.相册.拨号.短信.等等.. 对于Activity也可以..
重写Activity类.. 设置Tag.. 等等
反正方法有很多, 就看你灵活运用了.