回调在活动之间不起作用

时间:2014-04-21 13:32:06

标签: android callback

活动A 中,有一个带值的变量。从这里用户转到活动B 然后转到活动C 。在这里,他做了一些改变活动A 中的变量的东西。因此,当用户从活动C 返回活动B 返回活动A 时,必须更改该值。为了简单起见,我想要的是当用户返回(通过单击“返回”按钮)到活动A 而不必再次启动时显示Toast消息。

通过更改变量我的意思是当活动A 显示给用户时,它需要知道活动C 中发生的事情活动A 更改变量(通过运行脚本或其他内容)。

问题是当我启动活动A 时会显示Toast消息,但是当我从活动C 返回活动B 活动A

以下是我的尝试:

OnCustomEventListener.java

public interface OnCustomEventListener {
    public void onEvent(); 
}

活动A:

@Override
public void onCreate(Bundle savedInstanceState) {
     Activity_YourProfile actv_yourprofile = new Activity_YourProfile();
     //endless lines of code
     actv_yourprofile.setCustomEventListener(new OnCustomEventListener(){
         public void onEvent(){
            Toast.makeText(Activity_MyProfile.this, "performed", Toast.LENGTH_SHORT).show();
         }
}); 

}

活动B:

Nothing special just an intent that takes user to Activity C.

活动C:

private OnCustomEventListener mListener;
@Override
    public void onCreate(Bundle savedInstanceState) {
        //code
        setCustomEventListener(mListener);  //calling callback e.g. on Btn click
    }
    public void setCustomEventListener(OnCustomEventListener eventListener) {
       this.mListener=eventListener;
       if(this.mListener!=null){
           this.mListener.onEvent();
       }
    }

基于Mocialov Boris的solution

0 个答案:

没有答案