2013-08-03 2 views
1

Я думаю, что в этом вопросе говорится все: я хочу создать пользовательский OnItemClickListener для ListView. Я хочу добавить и изменить параметры для OnItemClickListener, но как я могу создать собственный, чтобы он вызывался, если я нажимаю элемент в ListView?Создайте собственный OnItemClickListener

+0

http://stackoverflow.com/questions/15222129/creating-a-custom-onclicklistener я думаю, что это поможет вам –

ответ

2

Вы создаете интерфейс, а затем реализовать метод, в котором вы установили слушатель в пользовательском классе, а уже затем сделать основной класс для прослушивания для пользовательского события

Интерфейс:

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

метод в вашем примере адаптер: закрытый кондиционер для OnCustomEventListener; // поле

//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

Смежные вопросы