Android-android里activity与activity之间如何传递数据?

发布于 2016-11-24 01:23:08 字数 121 浏览 1261 评论 2

sdcard上所有文件都显示在listview上了,我想点开一个txt文件阅读,如何点击后跳转到新activity阅读txt文件呢?已经设置好lisitview监听事件了,这个数据如何传递,有几种方法?新手请说详细点,先谢谢了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泛泛之交 2017-03-07 01:48:16

关于 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 来表明传递的类别或者特殊意义,这个都取决与你的程序设计了

祝好,
斑驳敬上

夜无邪 2017-02-25 08:12:10

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");
...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文