Android 简单、快速的事件绑定

Android 事件绑定

通常情况下我们对控件进行监听是通过注册监听器并重写onClick()方法,但是这里有一个更加快捷的方式为控件绑定事件:在xml文件中绑定

现在我们将做一个简单的程序,用户点击按钮后控制TextView中的数值进行增减

步骤:
1、创建布局
2、创建事件处理函数
3、为按钮绑定函数

第一、创建一个简单的布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/TextView"
        android:layout_width="match_parent"
        android:layout_height="178dp"
        android:gravity="center"
        android:text="@string/TextView"
        android:textSize="30sp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="172dp"
        android:layout_height="wrap_content"
        android:onClick="increment"
        android:text="@string/button"
        tools:layout_editor_absoluteX="204dp"
        tools:layout_editor_absoluteY="135dp" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="decrement"
        android:text="@string/button2" />

</LinearLayout>

效果如下:
在这里插入图片描述
第二是MainActivity中的代码:创建函数对数值进行增减并更新TextView

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    private TextView tv;
    private int sum = 0;    //定义一个用于TextView显示的变量

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv=this.findViewById(R.id.TextView);
    }

    //将sum的值递增并调用函数更新TextView
    public void increment(View view){
        sum ++;
        showScores(sum);
    }

    //更新TextView,注意setText里面需要传入的类型是字符串
    private void showScores(int sum) {
        String strsum = Integer.toString(sum);
        tv.setText(strsum);
    }

    //将sum的值递减并调用函数更新TextView
    public void decrement(View view){
        sum --;
        showScores(sum);
    }

}

到这里为止,相信你也看出我们的代码中没有对按钮注册监听器并且添加响应的响应处理,那么怎么为按钮绑定事件

第三、为按钮绑定事件
我们返回xml文件,点击button1,然后在搜索框中搜索onclick,并且选择increment

这样我们就为按钮1绑定了事件,是不是很简单呢
在这里插入图片描述
在这里插入图片描述

注意事项:当我们用在xml文件中进行事件绑定这种方式时,处理函数的参数一定要相应的改变,如果这里的形参View view没有写,将会报错
在这里插入图片描述

怎么样,这种方式是不是简洁许多了,应对较为简单的功能可以选择这种方式对事件进行绑定~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值