Android期末考考前盘点(八):各类控件事件--使用内部类的更合适懵逼的考试学生方式

这个系列----Android的期末应急方案

在上学期的期末收获了一致好评,但是在上学期期末考试中发现部分考生不会,或者说考试题目中会出到一些事件,例如:Button按钮的点击事件、长按事件;EditView文本框的监听事件、ListView点击子项item的点击事件;TextView的点击事件(最常见考试的还是Button以及ListView点击子项item的点击事件)

所以这里需要告诉大家解法,而且是我认为最方便的解法,由于本人英语也不是非常好,所以这个解法你也无需记下英文单词。

首先可以看一下对于Button而言,最常规的如何监听点击事件:

首先有种方式:

设置按钮的onClick属性、为按钮设置监听类、内部类的方式实现、实现OnClickListener接口

对于我在大学上的Android课而言,第二种讲的最少,第四种讲得最多,而为了对于考试这种而言第二种反而是最方便快速的

这是法四 我不推荐:(其实页面中如果有很多点击事件才会使用)

java 复制代码
btnclick.setOnClickListener(this);
public void onClick(View v) {
        Toast.makeText(MainActivity.this, "点击事件", Toast.LENGTH_SHORT).show();
    }
}

这是法二,我推荐的:

java 复制代码
//不好理解就这么写   这是叫内部类写法
btnclick.setOnClickListener(new MyClickListener());
class MyClickListener implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "点击事件", Toast.LENGTH_SHORT).show();
    }
}
//省略写法这么写 和上面一样的  而这就是那匿名内部类写法
button.setOnClickListener(new OnclickListener() {
        @Override
        public void onClick(View v) {
            super.onClick(v);
            Toast.makeText(MarqueeActivity.this,"点击事件",Toast.LENGTH_LONG).show();
            }
        });
}

为什么说匿名内部类方法快速、不需要记单词,以下是演示,你只要配置了JDK、SDK,你会发现她会提示,你只需要打一个new,打出部分单词(一般打出On即可提示,更高版本甚至只需要敲个空格就会提示):因为点击是click所以你找到click

而考试中假如遇到了ListView的item子项点击事件,你从来没用过也不用慌,也用了这样的方法,以下是演示:

甚至只要是控件你都可以使用,不管考试中遇到什么控件的监听**(比如按钮长按事件)**

相关推荐
小信丶1 分钟前
@EnableTransactionManagement注解介绍、应用场景和示例代码
java·spring boot·后端
m0_736919103 分钟前
C++中的享元模式变体
开发语言·c++·算法
集芯微电科技有限公司9 分钟前
15V/2A同步开关型降压单节/双节锂电池充电管理IC支持输入适配器 DPM 功能
c语言·开发语言·stm32·单片机·嵌入式硬件·电脑
To Be Clean Coder9 分钟前
【Spring源码】createBean如何寻找构造器(四)——类型转换与匹配权重
java·后端·spring
-孤存-21 分钟前
SpringBoot核心注解与配置详解
java·spring boot·后端
laplace012334 分钟前
Claude Code 逆向工程报告 笔记(学习记录)
数据库·人工智能·笔记·学习·agent·rag
Hx_Ma1636 分钟前
BCrypt
java
We....37 分钟前
鸿蒙与Java跨平台Socket通信实战
java·服务器·tcp/ip·arkts·鸿蒙
lingggggaaaa38 分钟前
安全工具篇&Go魔改二开&Fscan扫描&FRP代理&特征消除&新增扩展&打乱HASH
学习·安全·web安全·网络安全·golang·哈希算法
笃行客从不躺平39 分钟前
Token 复习
java·分布式·spring cloud