2013-08-03 63 views
1

我覺得這個問題說明了一切:我想創建一個ListView自定義OnItemClickListener。我想添加和更改OnItemClickListener的參數,但是如何創建一個自己的,以便在ListView中單擊一個項目時調用它?創建自己的OnItemClickListener

+0

http://stackoverflow.com/questions/15222129/creating-a-custom-onclicklistener我認爲它可以幫助您將定製的監聽器可能有多達參數 –

回答

2

首先創建一個接口,然後實現的方法,在這裏設置監聽器在你的自定義類,並且已經然後做一個主類,以監聽你的自定義事件

接口:

public interface OnCustomEventListener{ 
    public void onEvent(); //can have parameters 
} 

方法在你的eg適配器: private OnCustomEventListener mListener; //字段

//setter method 
public void setCustomEventListener(OnCustomEventListener eventListener) { 
    this.mListener=eventListener; 
} 

聽者:

someObjectYouWantToHaveYourCustomListenerToBeAssignedFor.setCustomEventListener(new OnCustomEventListener(){ 
    public void onEvent(){ 
    //do whatever you want to do when the event is performed. 
    } 
}); 

如何調用例如從您的適配器:

if(this.mListener!=null){ 
    this.mListener.onEvent(); 
} 

P.S.只要你想

Source

+0

謝謝你的但有是我不明白的一件事。爲什麼'OnCustomEventListener'知道它應該調用,如果我點擊一個項目? – Cilenco

+0

因爲'OnCustomEventListener'充當回調 –

+0

我實現我的班以上三個步驟,但我不能收到任何ClickEvents – Cilenco