我在android中有两个活动活动1和活动2。从活动1开始,我想将数据发送到活动2.我的活动1在活动最小化时随时更新。我想在活动1中的数据更新时随时将更新的数据发送到另一个活动....
答案 0 :(得分:1)
您可以使用处理程序将数据发送到另一个活动。 第1步:
//-- Create Handler in destination activity.
public static Handler handler;
handler=new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
// TODO Auto-generated method stub
//-- retreiving data
String data=msg.obj.toString();
int i=msg.arg1;
return false;
}
});
第2步:
//-- Passing data from source activity.
Message msg=new Message();
msg.arg1=10;//Pass int value
msg.obj="Test Message";//Pass any type of value
DestinationActivity.handler.sendMessage(msg);// DestinationActivity is your activity from u want to pass data.
答案 1 :(得分:0)
你可以简单地使用一个CallBack和一个Singleton,这个想法是这样的:
public class Mediator{
static MyCallBack mCallBack;
public static void setCallback(MyCallBack cb){
mCallBack = cb;
}
public static void callCallBack(Object data){
if(mCallBack != null){
mCallBack.onUpdate(data);
}
}
public static interface MyCallBack{
public void onUpdate(Object data);
}
}
first extends Activity{
//methods and fields
//...
private void update(){
//some logic...
String someData = "The data";
Mediator.callCallBack(someData);
}
}
second extends Activity{
public void onCreate(){
//...
Mediator.setCallback(new Mediator.MyCallBack(){
public void onUpdate(Object data){
//LOGIC WITH DATA HERE
}
});
}
//methods and fields
//...
}