如何将选中的项目传递给其他活动?
答
你必须使用一个Intent这样做。
实例,将数据传递到活动已经运行:
public void sendToActivity(Object data){
Intent i = new Intent("SEND_DATA");
i.putExtra("data", this.catchReports.get(data));
sendBroadcast(i);
}
然后,您必须安装在您接收活动的监听赶上广播信号:
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
// Sets the View of the Activity
setContentView(R.layout.activity_layout);
registerReceiver(new CustomReceiver(this), new IntentFilter("SEND_DATA"));
}
随着以下自定义接收器:
public class CustomReceiver extends BroadcastReceiver {
private MyActivity activity;
public ReceiverEvent(MyActivity activity) {
this.activity = activity;
}
public void onReceive(Context context, Intent i) {
this.activity.doWhateverWithYourData(i.getParcelableExtra("newEvent"));
}
}
请注意,如果要传输对象其他呃比整数,浮动和字符串,你必须让他们Parcelable。
答
你有几个解决方案...
- 您可以使用静态字段在Java类中
- 您可以通过Intent.putExtra将数据打包成意图
选项(1 )如果您尝试在您自己的活动之间发送数据,可能会是最简单和最快的。如果您希望将数据发送到其他应用程序的活动,则必须执行选项(2)。
我建议你,你为什么要使用广播阅读这些问与答&第一,虽然一些更加深入的讨论这个问题......
Passing data of a non-primitive type between activities in android
哇将数据发送到活动?为什么不只是发送信息的意图,并有意图启动所需的活动? – 2010-12-09 14:05:50