Как заставить слушателя взгляда
Я пишу сервис, который взаимодействует с другими приложениями. Он регистрирует слушателей по представлениям (кнопкам, текстовым представлениям, ...), которые уже имеют слушателей. Мне нужно заменить их своими собственными слушателями (работами), сделать что-нибудь, а затем отменить регистрацию моих слушателей и восстановить старых.
Приложение с кнопкой с onClickListener работаетМой сервис регистрирует onClickListener внутри UI-Thread + делать что-тоМой сервис восстанавливает старого слушателяБыло бы легко, если быview.getOnClickListener
-метод. Тогда я смогу сохранить старые и заменить новых слушателей, когдам сделано.
Есть ли способ получить слушателей из представления или иметь более одного слушателя одного типа, привязанного к одному представлению?
Button btn = (Button) findViewById(R.id.btn1);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//do something
}
});
// I need to do, but found no solution for that.
View.OnClickListener oldListener = btn.getOnClickListener();
Если я регистрирую новых слушателей в представлении, старые переопределяются, верно? Было бы также хорошо, если бы оба слушателя ("новый» а также "старый») существуют одновременно. Только старые не должны исчезнуть.
Редактировать: К сожалению, у меня нет возможности сохранить слушателя на задании. Мне нужно получить его обратно из компонента просмотра.
Спасибо