Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity

本文详细讲解了Android中如何通过四种方式处理按键点击事件:XML onClick、自定义监听器类、匿名内部类和Activity全局监听。重点介绍了自定义类和匿名内部类的实现方法,并提供了实例代码和常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、在xml 中设置按键的onClick 绑定的函数

新建一个工程

 然后在相关的页面添加一个Button

 运行一下

实际上,现在这个按键一,我们去运行的时候,他是没有任何的反馈的,我们按完它,他没有任何的反馈,那我如何才能让他出现一些反馈呢?

我们用         android:onClick="buttonBeCliecked"

                我们设置了这个函数,这个函数是java 写的 ,当按键被按下的时候,就会调用java里面的  buttonBeCliecked  这个函数,那么调用哪个java文件呢?        MainActivity.java

        因为MainActivity.java 在 setContentView这面去跟  activity_main 产生关联

        也就是说.xml文件绑定的所有函数都在.java文件里面去找

这段没什么用 

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    就先删掉

 你要找的话,你要去实现  buttonBeCliecked   这个函数

        这个函数需要一个权限        public         

,public的目的是扩大这个函数       buttonBeCliecked    的可见度 

                                      我们涉及到函数的分装,权限这一块

然后他需要一个参数View  v,这就是它整个参数的原型

 view  V不认识,按下ctrl   +shirt  +  o

 这样我们就可以当用户按下这个按键的时候,去调这个函数 public void buttonBeCliecked(View v)

        但这个函数我们什么都没做

        那我们给他加一句        System.out.println("button1 clicked");

 运行一下

 我们按一下button1,他会显示        button1 clicked  ,但是我们在哪里看呢?

看这个log Cat,logCat 这边会显示非常多的安卓模拟器的信息

 如果消息过多的话,我不想看,就可做一个过滤,

,没看到任何的过滤,说明这个过滤器有时候没那么好用

 这面还可以选择,你是要看整个操作系统的,还是这个包里面的

 那比如我们现在又有一个按键,(拖个按键进来)

 改一下名字

 我的按键二也可以指定一个onClick事件,当按键二被按下的时候,我也可以同样调用   

       public void buttonBeCliecked(View v)        这个函数

 运行一下

无论我按,按键一,还是按键二 ,他都显示      button1 clicked

 那我如何区分是    一     还是     二    被按下呢?

我们用     System.out.println(v.getId());   看看两个按键的id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值