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子项点击事件,你从来没用过也不用慌,也用了这样的方法,以下是演示:

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

相关推荐
在路上`3 分钟前
前端学习之后端java小白(三)-sql外键约束一对多
java·前端·学习
Elnaij13 分钟前
从C++开始的编程生活(8)——内部类、匿名对象、对象拷贝时的编译器优化和内存管理
开发语言·c++
dazhong201213 分钟前
Spring Boot 项目新增 Module 完整指南
java·spring boot·后端
xrkhy27 分钟前
SpringBoot之日志处理(logback和AOP记录操作日志)
java·spring boot·logback
尚久龙29 分钟前
安卓学习 之 用户登录界面的简单实现
android·运维·服务器·学习·手机·android studio·安卓
Modu_MrLiu33 分钟前
Android实战进阶 - 启动页
android·实战进阶·启动页·倒计时场景
搬山境KL攻城狮34 分钟前
MacBook logback日志输出到绝对路径
java·intellij-idea·logback
yb0os141 分钟前
RPC实战和核心原理学习(一)----基础
java·开发语言·网络·数据结构·学习·计算机·rpc
liuyao_xianhui1 小时前
内存管理(C/C++)
java·开发语言·c++
superlls1 小时前
(设计模式)区分建造者、 规格模式(MyBatis Example+Criteria )
java·tomcat