简体   繁体   中英

How can I set a listener from another class?

public class ClassOne implements MessageReceivedListener {

    @Override
    public void onMessageReceived(Message m) {
        // TODO etc
    }

}

Inside ClassOne I can say foo.setOnMessageReceivedListener(this);

If I had another class called ClassTwo , how can I set its listener to ClassOne 's listener?

eg...

public class ClassTwo implements MessageReceivedListener {

    public static void main(String[] args){
        setOnMessageReceivedListener(???);
    }

        @Override
        public void onMessageReceived(Message m) {
            // TODO etc
        }

}

EDIT: This is for an android applications, these two classes are activities, not standard java classes

That's not possible. Only one Activity will be running at a time. Change your app's design to Fragments if that helps, or reconsider your concept otherwise.

public class ClassTwo extends Activity implements MessageReceivedListener {

    protected void onCreate(Bundle savedInstanceState) {
        ClassOne myMessageListener = new ClassOne();
        myMessageListener.setOnMessageReceivedListener(this);
    }

    @Override
    public void onMessageReceived(Message m) {
        // TODO etc
    }

}

I think thats what you want

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM