创建一个简单的工程,它就包含一个主Activity。以下是主要代码。
mail.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <Button
- android:id="@+id/btn1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="myClickHandler" <!-- 设置监听 -->
- android:text="Button 01" />
- <Button
- android:id="@+id/btn2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="myClickHandler" <!-- 设置监听 -->
- android:text="Button 02" />
- <Button
- android:id="@+id/btn3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="myClickHandler" <!-- 设置监听 -->
- android:text="Button 03" />
- </LinearLayout>
MainActivity.java
- public class MainActivity extends Activity {
- /** Called when the activity is first created. */
- private Button btn1;
- private Button btn2;
- private Button btn3;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- btn1 = (Button) findViewById(R.id.btn1);
- btn2 = (Button) findViewById(R.id.btn2);
- btn3 = (Button) findViewById(R.id.btn3);
- }
- // 此方法与<Button>标签的onClick元素相对应
- public void myClickHandler(View target) {
- // 获得目标视图的ID
- int id = target.getId();
- switch (id) {
- case R.id.btn1:
- Toast.makeText(getApplicationContext(), "Click Button 01",
- Toast.LENGTH_SHORT).show();
- break;
- case R.id.btn2:
- Toast.makeText(getApplicationContext(), "Click Button 02",
- Toast.LENGTH_SHORT).show();
- break;
- case R.id.btn3:
- Toast.makeText(getApplicationContext(), "Click Button 03",
- Toast.LENGTH_SHORT).show();
- break;
- default:
- break;
- }
- }
- }
这样做,可以减少代码冗余,同时又增加了代码的可读性。
这个方法只能在Android 1.6以后的版本中使用。