将数据发送回Android中的主要活动

将数据发送回Android中的主要活动,第1张

概述我有两个活动:主要活动和儿童活动.当我按下主活动中的按钮时,将启动子活动.现在我想将一些数据送回主屏幕.我使用了Bundle类,但它不起作用.它会抛出一些运行时异常.这有什么解决方案吗?解决方法:根据具体情况,有两种方法可以实现您的目标.最常见的情况(您的听起来就是这样)是使

我有两个活动:主要活动和儿童活动.
当我按下主活动中的按钮时,将启动子活动.

现在我想将一些数据发送回主屏幕.我使用了Bundle类,但它不起作用.它会抛出一些运行时异常.

这有什么解决方案吗?

解决方法:

根据具体情况,有两种方法可以实现您的目标.

最常见的情况(您的听起来就是这样)是使用子Activity来获取用户输入 – 例如从列表中选择联系人或在对话框中输入数据.在这种情况下,您应该使用startActivityForResult启动您的子Activity.

这提供了一个管道,用于使用setResult将数据发送回主Activity.setResult方法获取一个int结果值和一个传递回调用Activity的Intent.

Intent resultIntent = new Intent();// Todo Add extras or a data URI to this intent as appropriate.resultIntent.putExtra("some_key", "String data"); setResult(Activity.RESulT_OK, resultIntent);finish();

要在调用Activity覆盖onActivityResult中访问返回的数据. requestCode对应于startActivityForResult调用中传入的整数,而resultCode和数据Intent则从子Activity返回.

@OverrIDepublic voID onActivityResult(int requestCode, int resultCode, Intent data) {  super.onActivityResult(requestCode, resultCode, data);  switch(requestCode) {    case (MY_CHILD_ACTIVITY) : {      if (resultCode == Activity.RESulT_OK) {        // Todo Extract the data returned from the child Activity.        String returnValue = data.getStringExtra("some_key");      }      break;    }   }}
总结

以上是内存溢出为你收集整理的将数据发送回Android中的主要活动全部内容,希望文章能够帮你解决将数据发送回Android中的主要活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1104543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存