3种方法实现android按钮的点击事件,一分钟学会!建议收藏!(代码片段)

振华OPPO 振华OPPO     2023-01-15     190

关键词:

Button是程序用于和用户进行交互的一个重要控件,相信大家对这个控件已经非常熟悉了,我们平时用的最多的控件之一。既然有Button,那肯定有onClick方法,下面就教大家三种实现点击事件的方法,大家选择一种自己喜欢的方式写就可以了。

我们先在layout文件里面放置一个Button控件,很简单,让它水平和垂直都居中,Button里面的文字也居中对齐,字体大小15sp,内容为“我是按钮”,具体代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ButtonActivity">
    <Button
    	android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:text="我是按钮"
        android:textSize="15sp" />

</RelativeLayout>

运行一下模拟器,显示如下:

下面,我们来实现按钮点击事件:只要我们点击按钮,就会弹出Toast提示信息,内容为“按钮被点击了”。

一、匿名内部类实现

在onCreate()方法里面声明并绑定控件,然后注册监听器,重写onClick()方法,只要在onClick()方法中加入待处理的逻辑就行。
这里我们只用Toast显示了一条消息。所有代码如下:

public class ButtonActivity extends AppCompatActivity 

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
        Button button=findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View view) 
                Toast.makeText(ButtonActivity.this,"按钮被点击了",Toast.LENGTH_SHORT).show();
            
        );
    

这样,只要我们点击按钮,就会执行监听器中的onClick()方法,效果如下:

二、接口实现

第二种方法只要引用View.OnClickListener这个接口就行,接着Button button=findViewById(R.id.button);用来声明和绑定button控件,button.setOnClickListener(this);设置button的监听器,这两者缺一不可。下面就是重写onClick()方法,一般使用switch语句,参数是view,可以根据不同id来赋予不同的点击事件,不用像上面匿名内部类那样每一个按钮都要单独设置一下点击事件。所有代码如下:

public class ButtonActivity extends AppCompatActivity implements View.OnClickListener 

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
        Button button=findViewById(R.id.button);
        button.setOnClickListener(this);
    

    @Override
    public void onClick(View view) 
        switch (view.getId())
            case R.id.button:
                Toast.makeText(this,"按钮被点击了",Toast.LENGTH_SHORT).show();
            default:
                break;
        
    

我们运行看下效果:

三、布局实现

上面两种点击事件都很简单,相信大家已经掌握了,那么接下来的方法更加简单。

我们在layout文件中,给每一个用到的Button设置属性android:onClick="onClick",其他不需要改变。
然后我们在ButtonActivity里面写一个onClick()方法,这里就不是重写了,因为我们没有任何继承父类和引用接口,这里的方法名可以随意取。然后写上代码逻辑。完整代码如下:

public class ButtonActivity extends AppCompatActivity

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);
    

    public void onClick(View view) 
        Toast.makeText(this,"按钮被点击了",Toast.LENGTH_SHORT).show();
    

我们来运行一下程序,发现点击按钮之后一样有响应。


好了,以上就是3种实现Android按钮的点击事件,是不是已经学会了呢。如果学会的话点个三连支持下博主吧。

如何绑定android点击事件

参考技术A绑定Android点击事件有三种方式:一、匿名内部类1、通过资源ID找到对应的Android控件,比如R.id.button1Buttonbutton1=(Button)findViewById(R.id.button1);2、调用setOnClickListener方法,将点击事件与之绑定button1.setOnClickListener(newView.OnClickL... 查看详情

按钮的三种点击事件(代码片段)

...ClickListenerimplementsOnClickListener89@Override//当按钮被按调用此方法10publicvoidonClick(Viewv)11//业务12131415 2.实现匿名内部类1bt_call.setOnClickListener(newOnClickListener()2@Override3publicvoidonClick(Viewv)4//业务逻辑56);  3.本类实现OnClickListener接... 查看详情

五分钟学会做一个在线抽奖系统,手把手教你抽奖还学不会嘛?(代码片段)

目录一、实现原理二、定义存放图片URL的数组三、设置开始按钮动作事件1、设置点击监听2、设置开始按钮失效3、定义循环定时器4、切换小相框的src属性四、设置结束按钮动作事件1、为结束按钮设置监听函数2、设置停止按钮失... 查看详情

android项目多个返回按钮点击事件怎样用一个方法解决

项目中每个activity都有一个返回上一页的按钮,但是每一个按钮返回上一个activity都得写一个OnClickListener的方法,感觉特别麻烦。如何能够通过一个公共类创建一个公共方法,然后再每个activity下调用这个方法就可以实现返回上一... 查看详情

点击事件监听

...、在layout XML文件中定义button点击时所调用的方法 android:onClick="*********** 查看详情

unity基础交互入门(按钮点击事件的三种方法)(代码片段)

...以loadMain为例),新增一个叫OnStartButtonClick的Public方法。usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassloadMain:MonoBehaviourvoidStart()voidUpdate()publicvoidOnStartButtonClick()Debug.Log("prefabName1");//只能运行时看到... 查看详情

android如何实现监听软键盘收起按钮的点击事件

我要实现点击软键盘中的收起按钮时执行一个动画,网上找了好久都没有合适的,各位大神帮帮忙。。。参考技术Ahttp://www.13168.org/2014a/0209/21724.html这里是对软键盘的enter键监听改成收起的那个键就行了呗?追问点击收起按钮时,... 查看详情

android模拟点击

参考技术A个人博客:haichenyi.com。感谢关注  本篇介绍实现模拟点击的两种方式:  举个栗子:我们现在需要实现点击A按钮,触发B按钮点击事件的效果:两个按钮在布局里面随便创建就好了。  第一种... 查看详情

js中点击按钮时自动增加一行

...文件的js标签内,定义hs()函数,在函数内使用alert()方法弹出"我被点击了"的内容。5、在js内,使用window对象中的onload事件,当网页加载完时,执行function函数。6、在function函数内,通过getElementById()方法获得按钮对象... 查看详情

js中点击按钮时自动增加一行

...文件的js标签内,定义hs()函数,在函数内使用alert()方法弹出"我被点击了"的内容。5、在js内,使用window对象中的onload事件,当网页加载完时,执行function函数。6、在function函数内,通过getElementById()方法获得按钮对象... 查看详情

webview获取网页点击事件

...后台协商好,点击该按钮加载特定url,通过webview的代理方法-(BOOL)webView:(UIWebView)webViewshouldStartLoadWithRequest:(NSURLRequest)requestnavigationType:(UIWebViewNavigationType)navigationType判断加载的url是否是协商好的url;ps:记得要returnNO,否则会加载url... 查看详情

js中点击按钮时自动增加一行

...字的大小。5、使用JS定义一个函数handel(),在handel()方法内编写JS代码实现改变文字的大小,handel()方法通过onclick事件触发执行。6、在浏览器运行test.html文件,查看实现的效果。 查看详情

@objc||private||按钮的点击事件

一、按钮的点击事件//3.监听发布按钮的点击//Selector两种写法:1>Selector("composeBtnClick")2>"composeBtnClick"composeBtn.addTarget(self,action:"composeBtnClick",forControlEvents:.TouchUpInside)    composeBtn.addTarget(s 查看详情

写出java事件驱动机制的工作原理

...过ActionListener来响应用户点击按钮)。4.定义处理事件的方法(如在ActionListener中的actionPerformed中定义相应方法)。以上步骤我们可以用多种方法实现。但人们通常用二种方法。第一种方法是只利用一个监听器以及多个if语句来... 查看详情

三种方法为qlineedit添加清除内容按钮(代码片段)

...受欢迎。今天我将介绍三种为QLineEdit添加清除内容按钮的方法,其中两种方法有较强的功能针对性,另一种方法则是通用的,不仅可以用来实现清除输入内容,还可以扩展出其他功能。本文索引方法1:setClearButtonEnabled显示清除... 查看详情

listviewitem中按钮点击实现删除

...istView中item的按钮点击事件首先需要在item的根布局中添加android:descendantFocusability="blocksDescendants"属性,否则item的点击事件会把其中imagebutton的点击事件屏蔽掉item的布局<LinearLayoutxmlns:android="http://schemas. 查看详情

java画图如何点击一次鼠标就变化一种颜色呢?求完整代码

...候,只用一种颜色即可是在mouseListener里面建立mouseclicked方法吗?求完整代码谢谢如果你对哪个事件不清楚,你去查看下帮助文档,这个java的文档很好,,里面写的方法很不错尽量让自己独立,先看文档注:鼠标有两个接口1.MouseMotionListen... 查看详情

actionlistener的三种实现方法

 Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的强大工具。JavaSwing组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,Swing组件会产生一个ActionEvent。Swing组件会产... 查看详情