在android中更新数据后,将数据发送到另一个活动

时间:2014-09-30 04:25:04

标签: android android-layout android-intent android-activity

我在android中有两个活动活动1和活动2。从活动1开始,我想将数据发送到活动2.我的活动1在活动最小化时随时更新。我想在活动1中的数据更新时随时将更新的数据发送到另一个活动....

2 个答案:

答案 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
    //...
}