Android UI控件详解-Button(按钮)点击事件的5种写法
16lz
2021-01-23
package com.bdqn.button;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.app.Activity;import android.content.Intent;/** * * @author TXF * * Button点击事件的5种写法 * */public class MainActivity extends Activity implements OnClickListener {private Button mbtn1, mbtn2, mbtn3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 加载主布局文件setContentView(R.layout.activity_main);// 第一种写法(定义内部类实现Button的点击事件)mbtn1 = (Button) findViewById(R.id.btn1);mbtn1.setOnClickListener(new MyListener());// 第二种写法(定义匿名内部类实现Button的点击事件)mbtn2 = (Button) findViewById(R.id.btn2);mbtn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {startActivity();}});// 第三种写法:让Activity实现点击事件的接口(适用于多个Button)// 1.让MainActivity实现OnClickListener接口;// 2.复写onClick方法;// 3.在onClick方法里面用Switch,case来判断不同Button的id从而响应不同的点击事件mbtn3 = (Button) findViewById(R.id.btn3);mbtn3.setOnClickListener(this);}// 第四种写法:在布局文件中绑定不同名的点击方法(就是 android:onClick="click04",后面的属性值不同)// 不需要findViewById,也不需要setOnClickListener,只需要写多个方法就行public void click04(View view) {startActivity();}/* * public void click01(View view) { } * public void click02(View view) { } * .... */// 第一种:定义内部类实现Button的点击事件private class MyListener implements OnClickListener {@Overridepublic void onClick(View view) {startActivity();}}// 这是第三种方法复写的onClick方法@Overridepublic void onClick(View view) {startActivity();}// 第五种:在布局文件中定义同名的点击方法(就是 android:onClick="click",后面的属性值都一样,都为click)// 通过switch,case来判断不同Button的Id,这种方法最简单。以后开发遇到多个Button的时候用这种方法比较简单public void click(View view) {switch (view.getId()) {case R.id.btn5:startActivity();break;// ...default:break;}}// 开启第二个界面的方法private void startActivity() {startActivity(new Intent(MainActivity.this, OtherActivity.class));}}
xml布局
效果图 更多相关文章
- android 模拟滑动事件
- android APP响应H5页面的点击事件(JS交互)
- android edittext编辑框光标改变事件
- android的service如何接收触摸事件。
- android 自定义TextView中Html超链接点击事件详解
- android中Touch事件处理
- Android UI系列:关于按钮点击事件
- android中ListView控件&&onItemClick事件中获取listView传递的数