W systemie Android wydaje się, że są 3 popularne sposoby obsługi kliknięć przycisków, jaka jest różnica między tymi metodami? Czy któreś z nich jest "lepsze" w jakiś sposób?Jak obsługiwać przycisk kliknięty w systemie Android?
Trzy sposoby Ciągle widzę to: klasa
Anonymous
Znajdź przycisk przez to ID, a następnie przekazać nowa klasa anonimowy setOnClickListener
, np w onCreate
findViewById(R.id.myButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// .. Whatever
}
});
Wdrożenie OnClickListener
Wdrożenie OnClickListener
i przechodzą this
do setOnClickListener
, a następnie za pomocą konstrukcji switch na podstawie identyfikatora, na przykład przycisk w onCreate
findViewById(R.id.myButton).setOnClickListener(this);
i wdrożenie onClick
jak
public void onClick(View v) {
switch(v.getId()) {
case R.id.myButton:
// ... whatever ...
break;
}
}
Zastosowanie onClick XML atribute
w układzie XML dla swojej działalności, zamiast dać swoją przycisk identyfikator, użyj onClick
tak :
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="buttonClicked"
android:text="Button" />
Następnie mają buttonClicked
metodę w swojej Acitiviy takiego:
public void buttonClicked(View v) {
// ... whatever ...
}
w tej chwili mają tendencję do używania atrybut XML, ale to tylko dlatego, że wiąże się z najmniejszą ilość kodu. Kiedy powinienem skorzystać z innych metod?
+1 za opisanie trzeciej metody. Uczę się tylko Androida i nie wiedziałem o atrybucie "onClick". – Mike