Button事件的三种实现方法

简介: onclick事件的定义方法,分为三种,分别为在xml中进行指定方法;在Actitivy中new出一个OnClickListenner();实现OnClickListener接口三种方式。 1.在xml中实现方法的绑定 在MainActivity中实现绑定的方法btnadd ...

onclick事件的定义方法,分为三种,分别为在xml中进行指定方法;在Actitivy中new出一个OnClickListenner();实现OnClickListener接口三种方式。

1.在xml中实现方法的绑定

    <Button
        android:id="@+id/btn_add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="46dp"
        android:onClick="btnadd"
        android:text="+" />

在MainActivity中实现绑定的方法btnadd

   public void btnadd(View v)
    {
        //绑定的btnadd方法
        Toast.makeText(getApplicationContext(), "我是绑定方法", Toast.LENGTH_LONG).show();
    }

 

2.NEW一个OnClickListenner()接口实例

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //关联控件
        btn_add=(Button) findViewById(R.id.btn_add);
        btn_reduce=(Button) findViewById(R.id.btn_reduce);
        et=(EditText) findViewById(R.id.editText1);

        //第二种,接口实例化
        btn_add.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                
            }
        });
    }

上面这种是最为常见一种实现方法,为了让oncreat中的代码更清晰,我们也会是用另一种写法

    btn_add.setOnClickListener(add);

实现add方法:

    OnClickListener add =new OnClickListener() {
        
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            
        }
    };

3.实现OnClickListener接口

  首先类要引用OnClickListener接口,并实现方法

public class MainActivity extends Activity implements OnClickListener{
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //关联控件
        btn_add=(Button) findViewById(R.id.btn_add);
        btn_reduce=(Button) findViewById(R.id.btn_reduce);
        et=(EditText) findViewById(R.id.editText1);

        //第三种,使用接口
        btn_add.setOnClickListener(this);
        btn_reduce.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId())
        {
        case R.id.btn_add:
            
            break;
        case R.id.btn_reduce:
            
            break;

        }        
    }

}

 

遗失的拂晓
目录
相关文章
|
8月前
|
JavaScript 前端开发
点击事件中的this|click事件与change事件|v-model
点击事件中的this|click事件与change事件|v-model
63 0
|
8月前
|
C#
c# Gridview 点击checkbox 触发的事件
c# Gridview 点击checkbox 触发的事件
|
8月前
|
流计算
oninput和onchange事件的区别是什么
oninput和onchange事件的区别是什么
uniapp组件库uview1的u-button的问题,u-button多次点击只触发事件一次
uniapp组件库uview1的u-button的问题,u-button多次点击只触发事件一次
393 0
|
2月前
|
JavaScript 前端开发
除了点击事件,`addEventListener` 还能用于处理哪些事件类型?
【10月更文挑战第29天】 `addEventListener` 能够处理的事件类型非常丰富,涵盖了各种用户交互和页面状态变化的场景,通过合理地使用这些事件类型,可以为网页或应用程序添加丰富多样的交互效果和功能。
|
3月前
|
JavaScript
oninput 和 onchange 事件有什么区别
oninput 和 onchange 事件有什么区别
257 4
|
5月前
oninput和onchange事件有什么区别?
oninput和onchange事件有什么区别? 最新推荐文章于 2024-08-14 15:45:18 发布
150 0
|
8月前
|
开发者
移动端 click 事件、touch 事件、tap 事件的区别
移动端 click 事件、touch 事件、tap 事件的区别
46 1
|
8月前
|
JavaScript 前端开发
oninput 和 onchange 事件的区别
oninput 和 onchange 事件的区别
100 9
|
8月前
oninput事件和onchange事件的区别?
oninput事件和onchange事件的区别?