2010-12-27 3 views
24

Можно ли подключить несколько слушателей onClick к кнопкам в android? Пример:Прикрепление нескольких слушателей к просмотрам в андроиде?

btn1.setOnClickListener(listener1); 
btn1.setOnCliclListener(listener2); 

И когда кнопка нажата OnClick событие как listener1 и listener2 срабатывают?

В обычных приложениях с графическим интерфейсом я знаю, что мы можем подключить более одного обработчика событий для события. Возможно ли это для андроида или есть какие-то ограничения?

С уважением, Лалитх

ответ

30

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

+0

Не могли бы вы, пожалуйста, дайте мне знать, какие-либо ссылки на это? – Lalith

+1

@Lalith: композитный шаблон представляет собой классический шаблон дизайна: http://en.wikipedia.org/wiki/Composite_pattern – CommonsWare

+0

Хмм .. Основная причина, по которой мне нужно несколько обработчиков событий для одного события, я планирую создать библиотеку, которая будет будут использоваться другими разработчиками Android. Предполагается, что он инициализируется где-то, и он сам по себе присоединяет необходимые обработчики событий к каждому элементу View. Я делал это в Silverlight легко, поэтому было интересно, возможно ли htat. – Lalith

0

Неа, например, просто сделать это:

Set Слушатель:

btn.setOnClickListener(this); 

Реализовать метод:

public void Onclick(View arg0){ 

    // check your id and do what you want 
} 
2
public void onClick(View v) { 
    if(v.getId() == R.id.button1) { 
     // do this 
    }else if(v.getId() == R.id.button2) { 
     // do that 
    } 
} 
Смежные вопросы