程序实现了button的四种点击响应方式。效果如图所示:
下面是用来生成Button点击事件的布局XML文件,包含四个button。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="匿名内部类实现点击事件" />
<Button
android:id="@+id/btn_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="内部类实现点击事件" />
<Button
android:id="@+id/btn_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="主类实现接口" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="myclick"
android:text="自己实现点击事件" />
</LinearLayout>
下面是实现点击事件程序
package com.example.myapp1;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private Button btn1, btn2, btn3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 第一种,利用匿名内部类实现OnClickListener,进而响应点击事件
btn1 = (Button) findViewById(R.id.btn_1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "1.利用匿名内部类实现点击",
Toast.LENGTH_LONG).show();
}
});
// 第二种实现方法:利用内部类实现OnClickListener,进而响应点击事件
btn2 = (Button) findViewById(R.id.btn_2);
btn2.setOnClickListener(new MyOnClickListener());
// 第三种,使用主类实现OnClickListener接口,进而响应点击事件。主类需要实现OnClickListener接口
btn3 = (Button) findViewById(R.id.btn_3);
btn3.setOnClickListener(this);
// 第四种,直接在xml文档设置button的onclick属性android:onClick="myclick",在本类中实现myclick方法
}
// 第二种实现方法:利用内部类
class MyOnClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "2.利用内部类实现点击", Toast.LENGTH_LONG)
.show();
}
}
// 第三种,使用主类实现OnClickListener接口,进而响应点击事件。主类需要实现OnClickListener接口,复写onClick()方法
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "3.利用主类实现点击", Toast.LENGTH_LONG)
.show();
}
// 第四种:通过xml文件配置button onClick属性,在主类中实现onClick属性配置的方法,进而实现事件响应
// 属性onClick 配置的方法,实现事件响应后执行的方法
public void myclick(View view) {
Toast.makeText(MainActivity.this, "4.利用XML文档onClick()配置实现点击",
Toast.LENGTH_LONG).show();
}
}
以上就是butoon的四种点击事件实现方法。