Android-android里activity与activity之间如何传递数据?
sdcard上所有文件都显示在listview上了,我想点开一个txt文件阅读,如何点击后跳转到新activity阅读txt文件呢?已经设置好lisitview监听事件了,这个数据如何传递,有几种方法?新手请说详细点,先谢谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
关于 bundle 蓝色梦幻 已经说了比较明确了
其实,随便拿个 intent 都能直接添加数据的,如果传输的数据是普通的数据类型,
可以直接使用
intent.putExtra("key", value);
这种形式来存储信息,
在被调用方使用
Intent intent = getIntent();
然后根据当时 key 所注明的 value 类型来取值
比如取字符类型的数据
String getData = intent.getStringExtra("key");
其他的类型方法名都类似,输入 intent.get 然后在 Eclipse 使用 Alt + /
即可查看名称和 javadoc
这种方式主要就是方便,省去了 bundle 类型,貌似传输的速度也比传 bundle 要快
除了 Intent 之外,还可以通过 startActivityForResult 的方式来传递 requestCode 和 resultCode 来表明传递的类别或者特殊意义,这个都取决与你的程序设计了
祝好,
斑驳敬上
Activity 之间传递数据最好的方法是通过 Intent 来传递的,示例代码如下:
// new 一个 Intent 对象,并制定 class
Intent intent = new Intent();
intent.setClass(xxx.this, nextActivity.class); // 设置要跳转到的Activity
// 如果数据比较多,还可以用 Bundle 把数据打包
Bundle bundle = new Bundle();
bundle.putDouble("doubledata", doubledata);
bundle.putXXX("xxx", xxx);
...
// 将 Bundle 对象 assign 给 Intent
intent.putExtras(bundle);
// 如果是少量数据,也可以直接添加到 intent 中
intent.putXXX("xxx", xxx);
// 跳转到 nextActivity
startActivity(intent);
在 nextActivity 中,可以取得这个 Bundle :
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
// 取出数据
double doubledata = bundle.getDouble("doubledata");
...