Jak uzyskać słuchacza widoku
Piszę usługę, która współdziała z innymi aplikacjami. Rejestruje słuchaczy na widokach (przyciski, teksty, ...), które już mają słuchaczy. Muszę je zastąpić własnymi słuchaczami (utworami), zrobić kilka rzeczy, a następnie wyrejestrować moich słuchaczy i przywrócić stare.
Uruchomiona jest aplikacja z przyciskiem z onClickListenerMoja usługa rejestruje onClickListener wewnątrz UI-Thread + zrób cośMoja usługa przywraca starego słuchaczaByłoby łatwo, gdyby byłoview.getOnClickListener
-metoda. Wtedy mógłbym uratować stare i zastąpić nowych słuchaczy, kiedy skończę.
Czy jest jakiś sposób, aby uzyskać słuchaczy z widoku lub mieć więcej niż jednego słuchacza tego samego typu związanego z jednym widokiem?
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();
Jeśli zarejestruję nowych słuchaczy w widoku, stare zostaną zastąpione, prawda? Byłoby również w porządku, gdyby obaj słuchacze („nowi” i „starzy”) istnieli w tym samym czasie. Tylko stare nie mogą zniknąć.
edytuj: Niestety nie mam możliwości zapisania słuchacza przy przydzielaniu. Muszę go cofnąć ze składnika widoku.
Dzięki