我有两个活动:主要活动和儿童活动.
当我按下主活动中的按钮时,将启动子活动.
现在我想将一些数据发送回主屏幕.我使用了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中的主要活动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)