2016-09-15 8 views
-3

OnClickListener Best Practices?Android OnClickListener mehrere Ansichten?

Was beste Praxis ist, wenn Sie ein Activity mit haben, lassen Sie sich 10 Tasten sagen, sollten Sie die OnClickListener für jeden View (Button) erstellen oder ist es besser, ein einziges onClickListener zu schaffen und nur ein switch mit der Ansichts-ID verwenden, um Bestimmen Sie die geklickte View?

+2

Sie können denselben Click-Ereignishandler mehreren Ansichten in Ihrem Layout zuweisen. Überprüfen Sie dann in der Methode ** which ** ist die View, die das Ereignis ausgelöst hat. –

+2

können Sie mit der zweiten Option gehen (1 Listener und Schalter) –

+1

anstelle von unten vote guide andere, wenn möglich – Androider

Antwort

1

Ich weiß, dass Sie Code kennen daher kann ich nur sagen:

Switch ist besser als ein Fall oder switch-Anweisung ist einfacher als zu lesen und pflegen

Es ist leichter zu handhaben, als wenn es einen höheren Eindruck hätte.

+1

Dies war wahrscheinlich die einzige Antwort, die auf den Punkt kam, ich kenne den Code und habe nicht nach Beispielen gefragt, sondern nur in der Praxis, was die bessere Wahl ist. Danke für ein paar Tipps! – Solx85

+0

Ich bin glücklich, Ihnen zu helfen. Vielen Dank. – Androider

3
@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.btn_1: 
     //Logic_1 
     break; 
     case R.id.btn_2: 
     //Logic_2 
     break; 
    } 
} 
1

Sie irgend etwas verwenden können, die Sie beide da als Berechnungspunkt verwenden möchten sind gleich, aber wenn Sie Ihre Codezeile sortieren möchten dann mit Schaltergehäuse verwenden Signal

für Referenzen dieses sehen Multiple Buttons `OnClickListener()` android

+0

sie sind nicht das Gleiche, jeder neue Klick Listener ist eine neue andere innere Klasse in der Aktivität –

+0

bitte siehe http: // programmers.stackexchange.com/questions/110106/what-ist-the-proper-way-to-implement-the-onclicklistener-interface-for-many-butto –

+0

'als Rechenpunkt sind beide gleich 'und das ist falsch –

2

Wenn Sie ein wenig in Google oder suchen .. Stackoverflow

Multiple Buttons `OnClickListener()` android

Beste Lösung ist Schalter:

@Override 
public void onClick(View v) { 

    switch (v.getId()) { 

     case R.id.oneButton: 
      // do your code 
      break; 

     case R.id.twoButton: 
      // do your code 
      break; 

     case R.id.threeButton: 
      // do your code 
      break; 

     default: 
      break; 
    } 

} 
Verwandte Themen