Android之Button点击事件处理的几种方式
来源:互联网 发布:陌陌协议软件 编辑:程序博客网 时间:2024/05/21 10:03
Button,作为Android的控件之一,用户通过点击对其进行操作。
1.继承关系
java.lang.Object android.view.View android.widget.TextView ↳android.widget.Button
2.直接子类
AppCompatButton, CompoundButton
3.间接子类
AppCompatCheckBox, AppCompatRadioButton, CheckBox, RadioButton, Switch, SwitchCompat, ToggleButton
4.XML属性
由于Button继承于TextView,XML属性不再解析,详情见TextView详解
5.单击事件处理
Button作为通过点击进行操作,点击后事件处理方式有几种呢?下面就对Button事件处理几种方式一一解析
5.1 Xml注册处理单击事件
在布局文件中显式指定按钮的onClick属性即android:onClick=”XX”,在Acticity中实现XX方法。
XML布局:
<Button android:id="@+id/btn_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" <span style="background-color: rgb(255, 255, 255);"> android:onClick="</span><span style="background-color: rgb(255, 0, 0);">doOnclick</span><span style="background-color: rgb(255, 255, 255);">"</span> android:text="One"/>
在Activity中实现:
<span style="background-color: rgb(255, 0, 0);"> public void doOnclick(View view)</span> { Toast.makeText(this, "Xml注册处理单击事件", Toast.LENGTH_SHORT).show(); }
在Acitcity实现方法时,注意以下几点
1.访问修饰符必须是public
2.返回值必须是void
3.方法名称必须和xml中andorid:onClick="XX"一致
4.必须接收一个参数 该参数一定是View类型
5.@param v 被单击的控件
5.2 Activity自身实现View.OnClickListener
将当前Activity去实现View.OnClickListener在Activity中实现其onClick()方法。这样可以使多个按钮复用一个监听器。注册监听时,只需将当前对象(this)给按钮即可
public class MainActivity extends AppCompatActivity implements View.OnClickListener { Button btn_two; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_two = (Button) findViewById(R.id.btn_two); btn_two.setOnClickListener(this); } @Override public void onClick(View v) { Toast.makeText(this, "自身实现View.OnClickListener", Toast.LENGTH_SHORT).show(); }}
5.3 采用匿名内部类方式
当监听一个Button时,给Button设置监听,同时创建匿名内部类new OnclickListener()。
btn_three.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "成员内部类", Toast.LENGTH_SHORT).show(); } });
5.4 成员内部类
在Activity中,自定义一个点击事件监听器的内部类类 MyOnclickListener让其实现View.OnClickListener的onClick(Viewv)方法。Button控件setOnclickListener(new MyOnClickListener())来接收一个点击事件的监听器。在每个Activity中,经常监听多个控件的单击事件,最喜欢使用这种方式,简单粗暴。
自定义内部类:
private class MyOnclicListener implements View.OnClickListener { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "成员内部类", Toast.LENGTH_SHORT).show(); } }Button设置监听
btn.setOnclickListener(new MyOnClickListener ());
四种监听Button单击事件处理方式,各有优劣,可以根据实际情况自行选择。
日积月累,总会进步!
- Android之Button点击事件处理的几种方式
- Android-学习笔记之 Button实现点击事件的几种方式
- Android之Button按钮点击事件的三种方式
- Android之Button按钮点击事件的四种方式
- Button实现点击事件的几种方式
- Android中Button的几种点击事件写法
- Android Button响应点击事件的几种方法大合集
- Android Button点击事件的三种方式
- Android之Button按钮点击事件的三种方法
- 学习Android之第一个小程序及点击事件的几种方式
- Android笔记——Button点击事件几种写法
- android 监听Button点击的事件的方式
- button 事件的三种处理方式
- Android中Button的响应点击事件的几种写法
- android菜鸟之button事件的三种方式
- Button按钮的几种点击事件的写法
- Android Button的点击事件
- Android笔记——Button点击事件的几种写法
- MVC,MVP 和 MVVM 的图示
- 无聊时总结总结算法之02排序(希尔 完结)
- 三目运算符
- 安卓第十夜 亚当的诞生
- Error: Can't set headers after they are sent.
- Android之Button点击事件处理的几种方式
- hdu3183RMQ
- python:open/文件操作
- 键盘录入
- oc学习笔记之协议与分类
- CSS3 @font-face详细用法
- 添加WebStorm 项目 到 Bitbucket
- 剑指Offer:顺时针打印矩阵(JAVA)
- lvs入门级知识点