- 在XML文件中“显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法”
1 <Button
2 android:id="@+id/button1"
3 android:layout_width="wrap_content"
4 android:layout_height="wrap_content"
5 android:onClick="onClick"
6 android:text="Button1" />
7
8 <Button
9 android:id="@+id/button2"
10 android:layout_width="wrap_content"
11 android:layout_height="wrap_content"
12 android:onClick="onClick"
13 android:text="Button2" />
这里在输完android:的时候按下 Alt+/ 会有 onClick 属性的提示, 但输入到 android:onClick=“ 的地方按下 Alt+/ 并没有提示 onClick 选项,让我突然觉得这里好像有点问题。
1 public class TestButtonActivity extends Activity { 2 3 Button btn1, btn2; 4 Toast tst; 5 6 @Override 7 protected void onCreate(Bundle savedInstanceState) { 8 super.onCreate(savedInstanceState); 9 setContentView(R.layout.activity_test_button); 10 } 11 12 // 注意 这里没有 @Override 标签注,Android studio 中有时候需要手动导入View包(import android.view.View;) 13 public void onClick(View v) { 14 // TODO Auto-generated method stub 15 switch (v.getId()) { 16 case R.id.button1: 17 tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT); 18 tst.show(); 19 break; 20 case R.id.button2: 21 tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT); 22 tst.show(); 23 break; 24 default: 25 break; 26 } 27 } 28 }
这种写法整个代码中都不用声明button就可以实现button的单击事件。