笔译笔,不如人之比,见一见,不与人为鉴。苍天下, 弃细雨,混泪难断谁更惆;苍穹再,散绸绫,铺洒漫染何出犹。


今天笔者来说下Android中OnClick事件监听的几种书写方式。

  • 匿名内部类的方式
package com.example.testofonclick;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {//1、声明控件private Button btnCancel;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//2、绑定事件btnLogin = (Button) findViewById(R.id.btn_cancel);//3、设置触发事件btnLogin.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {finish();
Toast.makeText(MainActivity.this, "已经点击。", Toast.LENGTH_SHORT).show();}});}
}
  • 让MainActivity 实现(Implements)View.OnClickListener方法:
package com.example.testofonclick;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity implements View.OnClickListener{//1、声明控件private Button btnCancel;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {//2、绑定事件btnCancel= (Button) findViewById(R.id.btn_cancel);//3、设置触发事件btnCancel.setOnClickListener(this);}@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.btn_cancel:
Toast.makeText(MainActivity.this, "已经点击。", Toast.LENGTH_SHORT).show();finish();break;}}
}
  • 在布局文件中给定一个OnClik(代码如下):
<Buttonandroid:onClick="btnCancel"android:id="@+id/btn_login"android:text="点击事件(点击退出)"android:layout_width="368dp"android:layout_height="wrap_content"tools:layout_editor_absoluteY="0dp"tools:layout_editor_absoluteX="8dp" />

之后再直接调用:

package com.example.testofonclick;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void btnCancel(View view){finish();}
}
  • 代码实现如下:
package com.example.testofonclick;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {private Button btnLogin;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnLogin = (Button) findViewById(R.id.btn_login);btnLogin.setOnClickListener(new MyClick());}private class MyClick implements View.OnClickListener{@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.btn_login:
Toast.makeText(MainActivity.this, "已经点击。", Toast.LENGTH_SHORT).show();finish();break;}}}}
  • 普通方法如下:
package com.example.testofonclick;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private Button btnCancel;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnCancel= (Button) findViewById(R.id.btn_login);btnCancel.setOnClickListener(click);}//创建监听对象Button.OnClickListener click = new Button.OnClickListener(){@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "已经点击。", Toast.LENGTH_SHORT).show();finish();}};}

私人网站:http://www.cnblogs.com/sheshidujiang/

℃江让您从精通到入门:OnClick事件监听的几种方式相关推荐

  1. html中事件监听的使用,Vue.JS入门篇--事件监听

    你可以使用 v-on 指令来绑定并监听 DOM 事件.绑定的内容可以是一个当前实例上的方法 (后面无需跟括号) 或一个内联表达式.如果提供的是一个方法,则原生的 DOM event 会被作为第一个参数 ...

  2. 6.1_6 Python3.x入门 P7 【字符串格式化】四种方式(手动、%-formatting、str.format()、f-String)

    相关链接 目录 Mac M1 Python环境搭建 Python3.x入门 P1 [基础]基础语法.注释.标识符.变量.数据类型.键盘录入input Python3.x入门 P2 [基础]运算符 Py ...

  3. ℃江让您从精通到入门:QQ强制下线逻辑实现

    下面由我来带领大家实现这个功能的基础.首先来看下演示图: 来看下组成吧: 第一步.新建一个ActivityCollector,用于遍历所有Activity后,更方便的给关闭某个Activity.代码如 ...

  4. html页面多个按钮点击事件监听事件,HTML Button.onclick 事件汇总

    type="button" value="打开" name="Button1"> type="button" va ...

  5. Android onClick()单机监听2种方式

    第1种.匿名类监听器注册onClick() 1.activity_main.xml <Buttonandroid:id="@+id/button_1"android:layo ...

  6. onclick事件没有反应的五种可能情况

    转自:https://blog.csdn.net/qujing_1120/article/details/76853039 οnclick="alert()" 事件没有反应的几种情 ...

  7. CSS入门-创建CSS样式表的三种方式

    一.三种方式 创建 CSS 样式表有三种方式: 1. 元素内嵌样式: 2. 文档内嵌样式3. 外部引入样式. 元素内嵌样式: 即在当前元素使用 style 属性的声明方式,"这是一段文本&q ...

  8. js代码中for循环里绑定onclick事件报错Uncaught TypeError Cannot set properties of undefined (setting ‘className‘)

    jsfor循环里绑定onclick事件报错Uncaught TypeError Cannot set properties of undefined (setting 'className') 我想要 ...

  9. android中onclick事件失效,Android中OnClick事件的三种方法

    //第一种方式 Button Btn1 = (Button)findViewById(R.id.button1);//获取按钮资源 Btn1.setOnClickListener(new Button ...

最新文章

  1. NLP jieba分词源码解析
  2. python小结_python简单小结
  3. 需求获取安排计划书_6分钟教你写一份融资计划书
  4. 使用SPANN方式将Spring&Quartz与自定义注释集成
  5. C语言程序顺序结构1交换变量,如何将c语言中结构体内的所有类型变量的值输出来...
  6. P1120-小木棍 [数据加强版]
  7. MIT自适应律MRAC的理解和MATLAB实现
  8. python的三种取整方式_python3.6 numpy 数组的多种取整方式
  9. 简单的form表单操作(Servlet)
  10. 前端实现很哇塞的浏览器端扫码功能
  11. crmeb多商户二开crmeb架构二开文档异常处理【4】
  12. java的第一个代码模型,简单的java类
  13. 分块矩阵求逆 matlab,矩阵的分块求逆及解线性方程组.doc
  14. 洛谷刷题笔记5.p1116 车厢重组
  15. 算法小程序:倒水问题
  16. 两只PNP晶体三极管和四个电阻组成恒流源电路
  17. 计算机类核心期刊排名(国内)
  18. Train for kirara 总结
  19. PCL滤波工具之StatisticalOutlierRemoval深度分析
  20. 求是潮android最新版,是谁在暗中观察

热门文章

  1. 计算机教育属于教育学,计算机教育是什么级别的刊物
  2. CSS 渐变-阴影-滤镜【值得收藏】
  3. 分时线的9代表什么_“不涨停,不打板”,让我来告诉你什么才是真正的打板,主力也会露马脚,抓涨停板尽显游资逻辑...
  4. 城市化,给我们的心理健康与行为带来了什么?
  5. 1.8-08:矩阵加法
  6. 海水淡化膜:陶氏膜法海水淡化技术的应用与进展
  7. 瘦客户服务器哪个系统最好,云终端和瘦客户机的区别以及优缺点分析
  8. Nordic系列芯片讲解十(修改nordic系列芯片的广播名)
  9. Aerospike-Java
  10. 怎么进行免费流程图制作?不妨试试这些软件