2013-09-25 128 views
0

我有2個android項目,例如Project AProject B如何在android中實現事件監聽器

Project Alibrary項目,並作爲referenceProject B中添加。

我收到Project Awebserver的一些數據。我只想通知Project B已收到數據,它應該啓動一些過程。

我想我將不得不實現事件監聽器,但我無法理解它的工作。

+1

您需要使用interfae。在庫項目中創建接口並在您的項目中實施。 –

+0

你可以舉一個例子或者關於如何實現它的提示嗎? –

+0

發佈你的課程,你得到迴應。 –

回答

1

您可以使用android.os.handler

項目B

Callback callback = new Callback() { 
    public boolean handleMessage(Message msg) { 
     //update project B code 
     int data=msg.arg1; //use bundle for more complex data 
    } 
}; 

當項目B設立項目A創建的處理程序回調:

Handler handler = new Handler(callback); 

傳遞處理器通過編碼一個setter方法來編譯項目A,該方法將處理程序分配給項目A中聲明的處理程序(例如Handler mHandler = null;)。

ProjectA.setHandler(handler); 

在項目A,當你需要更新B到處理程序發送一條消息:

Message msg=Message.obtain(); 
int value=10; //whatever 
msg.arg1=value; //or use a Bundle 
mHandler.sendMessage(msg);