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

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

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

现在我想把一些数据发回主屏幕。我用了班德尔班,但它不起作用。它引发一些运行时异常。

有什么解决办法吗?


慕勒3428872
浏览 274回答 3
3回答

幕布斯6054654

根据具体情况,有几种方法可以实现你想要的。最常见的场景(听起来就是这样)是,当一个子活动被用来获取用户输入时,比如从列表中选择联系人或在对话框中输入数据。在这种情况下,您应该使用startActivityForResult来启动你的孩子活动。这为将数据发送回主活动提供了一个管道。setResult..setResult方法接受一个int结果值和一个传递回调用活动的意图。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();若要访问调用活动重写中返回的数据,请执行以下操作:onActivityResult..请求代码对应于在startActivityForResult调用,同时从子活动返回结果代码和数据意图。@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;     }    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android