[英]Can Android have multiple listeners?
說我有5個按鈕。 對於每個按鈕,我希望能夠觸發一個監聽器。 一旦偵聽器被觸發,我想在我的sdk中觸發異步任務,然后讓sdk返回異步任務的狀態。
1)我是否寫了一個單獨的監聽器/按鈕? 我讀到某處我在android中只能有一個注冊的監聽器,如果這是真的我如何處理許多監聽器?
2)如何將SDK的postExecute調用結果返回到api級別?
1)我是否寫了一個單獨的監聽器/按鈕? 我讀到某處我在android中只能有一個注冊的監聽器,如果這是真的我如何處理許多監聽器?
一個視圖只能有一個每種類型的偵聽器,即一個Button不能有兩個OnClickListeners
。 不要將此與一個偵聽器可以附加到多個視圖的事實混淆,即ButtonA和ButtonB可以具有相同的OnClickListener
2)如何將SDK的postExecute調用結果返回到api級別?
你的術語不對,但你去的時候就會搞清楚。 通常onPostExecute()
將調用另一個方法或直接使用View:
@Override
protected void onPostExecute(String result) {
doSomething(result);
textView.setText(result);
}
最簡單的方法是在活動中設置一個偵聽器,然后處理多個按鈕。 您可以使用OnKeyListener類執行此操作 。 然后,您可以切換哪個鍵被擊中,為您希望操作的按鈕設置案例,並啟動AsyncTask
。
我不太確定你的意思是“return postExecute”。 但是,如果你看一下AsyncTask,你可以看到如何使用正確的參數將結果返回到onPostExecute。 當您實例化AsyncTask
的子類時,您可以輕松地傳入您希望執行回調的活動或上下文。
您可以擁有多個偵聽器,並根據您要對其執行的操作,每個按鈕可以有一個。 就postExecute()
,它在UI線程上運行,因此您可以從那里顯示結果或用它做任何你想做的事情。 有關詳細信息,您需要提供一些您嘗試過的代碼,並准確解釋您遇到問題的位置。 如果你還沒有,請通過
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.