Jeśli chcesz zmniejszyć linie kodowania następnie użyć View's OnClick() with switch statement
i jeśli chcesz obsługiwać osobno wszystkie kliknięcia (na łatwe zrozumienie i utrzymanie kodu), a następnie użyć oddzielnego wszystkie button's onClick().
Aktualizacja:
Jeśli zadeklarowałeś przyciski w pliku xml Activity layout, a następnie wpisujesz atrybut android:onClick=""
z tą samą nazwą metody dla wszystkich przycisków i zaimplementujesz tę metodę w swoim działaniu. Teraz masz jedną metodę dla wszystkich przycisków iw tej metodzie rozróżniać przyciski o identyfikatorze.
Przykład:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button android:id="@+id/button1"
android:layout_width="wrap_content"
android:onClick="buttonOnClick"
android:layout_height="wrap_content"
android:text="Hello, I am a Button 1" />
<Button android:id="@+id/button2"
android:layout_width="wrap_content"
android:onClick="buttonOnClick"
android:layout_height="wrap_content"
android:text="Hello, I am a Button 2" />
<Button android:id="@+id/button3"
android:layout_width="wrap_content"
android:onClick="buttonOnClick"
android:layout_height="wrap_content"
android:text="Hello, I am a Button 3" />
</LinearLayout>
Teraz w swojej działalności realizować buttonOnClick
podobnego
public void buttonOnClick(View view)
{
switch(view.getId())
{
case R.id.button1:
// Code for button 1 click
break;
case R.id.button2:
// Code for button 2 click
break;
case R.id.button3:
// Code for button 3 click
break;
}
}
Albo można zastosować tę samą obudowę przełącznika dynamicznie dodanych przycisków w swojej działalności, jak zamiast buttonOnClick
musisz użyć zaimplementowanej View OnClickListerner'sonClick
.
Nie pyta, jak radzić sobie z kliknięciami, tylko z których dwóch znanych mu technik jest preferowany. – goto10