Mehrere Ereignis beim gleichen Control

  • Antworten:2
  • Bentwortet
Josef M.
  • Forum-Beiträge: 35

09.10.2013, 18:29:36 via Website

Hallo
Komme mal wieder ein wenig zum App-Programmieren (leider nur sehr, sehr sporadisch).
Mein Problem: In Java lassen sich für Controls EventHandler programmieren. Auch kann ein Event bei verschiedenen Controls registriert sein - a b e r: mein Versuch bei e i n e m Contol z w e i verschiedene Ereignisse zu registrieren, funzt einfach nicht. Es wird immer nur das eine o d e r das andere ausgelöst (habe ich durch Kommentierung ausprobiert).
Frage: kann man tatschächlich auf e i n Control nur e i n Ereignis registieren?

Gruss Josef

Zur Info: mein Quellcode sieht etwa so aus:

ClickListener1 button1Listener = new ClickListener1();
ClickListener2 button2Listener = new ClickListener2();

Button1.setOnClickListener(button1Listener); // 1. Registrierung auf Button 1
Button1.setOnClickListener(button2Listener); // 2. Registrierung auf Button 1
}

class ClickListener1 implements OnClickListener
{
public void onClick(View V)
{
Text = "Ereignis1 ausgelöst";
Toast EinToast = Toast.makeText(V.getContext(), Text, Toast.LENGTH_SHORT);
EinToast.show();
}
}

class ClickListener2 implements OnClickListener
{
public void onClick(View V)
{
Text = "Ereignis2 ausgelöst";
Toast EinToast = Toast.makeText(V.getContext(), Text, Toast.LENGTH_SHORT);
EinToast.show();
}

Antworten
impjor
  • Forum-Beiträge: 1.793

09.10.2013, 20:29:10 via App

In Java heißt es ja auch addListener(), in Android setListener():

=> nur ein Listener pro Control
=>Lösung: Custom-Listener erstellen. Ungefähr so
1class x implements OnClickListener {
2ArrayList all =...
3onClick(View v){
4for (OnClickListener c:all)
5{
6c.onClick(v);
7}
8}
9
10Konstruktor
11x(OnClickListener c...) {
12all.addAll(c);
13}
14add-Methode für all
15}

Dann einfach
deineView.setOnClickListener(new x(1.OnClickListener, 2.OnClickListener, ..));

LG

— geändert am 09.10.2013, 20:29:22

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Josef M.
  • Forum-Beiträge: 35

14.10.2013, 18:51:45 via Website

hallo impjor

vielen Dank für die Hilfe. Probiere ich bei Gelegenheit aus.

Gruss
Josef

Antworten