我在2个单独的文件中有2个不同的类,现在我希望B类通知A类做一个动作。根据我对Android的理解,处理程序在主线程中创建,并在收到消息后进行处理。但是,为了通知类A,类B需要在类A中创建的处理程序,在本例中是它的mHandler。此外,B类活动是通过New Intent和StartActivity从A类活动启动的。但是,如果我希望A中的处理程序传递给B,我该如何实现呢?
不是传递处理程序来创建这个委托函数,是否有更简单的方法,如通知,会更容易吗?如果它是如何将通知从B发送到A和A中,通知的处理?
在A组
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) { //message sent from Class B
String event = msg.what;
switch(event){
/.......
} //switch
super.handleMessage(msg);
} //handle
};
在B组中
public void onClick(View v) {
m.what = MESSAGE;
mHandler.sendMessage(m); //mHandler from Class A
}