Если вы хотите уменьшить количество строк кодирования, тогда используйте View's OnClick() with switch statement
, а если вы хотите обрабатывать все щелчки отдельно (для простоты понимания и обслуживания кода), тогда используйте отдельные все button's onClick().
Обновление:
Если вы объявили «Кнопки» в своем XML-файле макета «Активность», напишите атрибут android:onClick=""
с одинаковым именем метода для всех кнопок и внедрите этот метод в свою деятельность.Теперь у вас есть один метод для всех кнопок, и в этом методе различайте кнопки с идентификатором.
Пример:
<?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>
Теперь в вашем Activity реализуйте buttonOnClick
как,
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;
}
}
Или вы можете применить тот же регистр переключателей для динамически добавляемых кнопок в вашей деятельности, например, вместо buttonOnClick
вы должны использовать реализованный OnClickListerner's View onClick
.