Click zu Button zuordnen

  • Antworten:3
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 12

19.11.2018, 21:33:45 via Website

Hallo zusammen

Ich schreibe meine ersten Programme. Nun bin ich mir beim Benutzen der Buttons nicht so sicher. Meine Lösung funktioniert, aber ich bin mir nicht sicher ob dies auch so richtig ist.

Also um die clicks für die Buttons abzufangen habe ich folgendes gemacht:
Zunächst habe ich meine Klasse mit "implements View.OnClickListener" ergänzt. Danach habe ich für jeden Button eine Funktion geschrieben.

public void click_proben(View v){
    schirm.loadUrl("");
}

Anschliessend habe ich im Layout im Atributt des Buttons im onClick die Funktion eingetragen. Ist das so Ok. Oder macht man das anders?

Gruss Renato

Diskutiere mit!
Beste Antwort
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.207

20.11.2018, 09:11:45 via Website

Hallo Renato,

du vermischt hier zwei onCklick Techniken:
1. Entweder mit View.OnClickListener
2. oder (xor ;)) per XML onClick Tag und Methode

Ich selber bevorzuge die erste Methode, da man da im Code die ButtonKlicks sofort sieht.

z.b.

 myBtn.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//called wehn myButton is pressed
}
});

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 511

20.11.2018, 11:03:46 via Website

Hallo und wenn du es mit dem Interface machen willst dann in etwas so. ( "implements View.OnClickListener" )

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button bt1 = (Button) findViewById(R.id.button1);
    bt1.setOnClickListener(this);
    Button bt2 = (Button) findViewById(R.id.button2);
    bt1.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.button1:
            //code für Button 1
            break;
        case R.id.button2:
            // code für Button 2
            break;
    }
}

}

— geändert am 20.11.2018, 11:15:11

Hilfreich?
Diskutiere mit!

Empfohlene Artikel