<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"> <Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登陆"
android:onClick="onClick"/>
<Button
android:id="@+id/btnExit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出"
android:onClick="onClick"/> </RelativeLayout>

1 继承:

package com.sxt.day03_04;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
activity:写逻辑代码地方,自动创建,不能自己去new,第一个调用onCreate方法,
public class MainActivity extends Activity implements OnClickListener{ @Override
protected void onCreate(Bundle savedInstanceState) {
//savedInstanceState用于保存Activity中的数据,是一个hashMap,
super.onCreate(savedInstanceState);
//将activity_main.xml设置为本Activity显示的布局
//R代表res文件夹,只要res文件夹中有id值的控件都会在R中创建一个常量,
setContentView(R.layout.activity_main);
//将MainActivity.this地址保存在Button.OnClickListener属性中
//点击的时候执行this这个监听器的onClick方法
findViewById(R.id.btnLogin).setOnClickListener(this);
findViewById(R.id.btnExit).setOnClickListener(this);
} @Override
public void onClick(View v) {//View是所有布局的基类
switch (v.getId()) {
case R.id.btnLogin:
Toast.makeText(this, "执行登陆操作", 2000).show();
break;
case R.id.btnExit:
finish();
break;
}
} }

2 内部有名类:

package com.sxt.day03_05;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//将MainActivity.this地址保存在Button.mOnClickListener属性中
//用内部类(内部有名类,不是匿名类)实现,如果很多类都用LoginClickListener这个对象则有很好的复用性
findViewById(R.id.btnLogin).setOnClickListener(new LoginClickListener());
} class LoginClickListener implements OnClickListener{
@Override
public void onClick(View v) {
if(v.getId()==R.id.btnLogin){
Toast.makeText(MainActivity.this, "执行登陆操作", 2000).show();
}
}
} }

3 外部类

package com.sxt.day03_06;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast; public class MainActivity extends Activity {
EditText metId,metPwd;//用户名 密码 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setListener();//设置按钮的点击事件监听器
} private void setListener() {
MyClickListener listener=new MyClickListener(metId, metPwd, this);
findViewById(R.id.btnLogin).setOnClickListener(listener);
findViewById(R.id.btnExit).setOnClickListener(listener);
} private void initView() {
metId=(EditText) findViewById(R.id.etId);
metPwd=(EditText) findViewById(R.id.etPwd);
} }
package com.sxt.day03_06;

import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast; public class MyClickListener implements OnClickListener {
EditText metId,metPwd;
MainActivity mActivity; public MyClickListener(EditText metId, EditText metPwd,
MainActivity mActivity) {
super();
this.metId = metId;
this.metPwd = metPwd;
this.mActivity = mActivity;
} @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnExit:
mActivity.finish();//关闭Mainactivity
break;
case R.id.btnLogin:
//取出登陆编号
String id=metId.getText().toString();
String pwd=metPwd.getText().toString();
Toast.makeText(mActivity, "登陆编号:"+id+",登陆密码:"+pwd, Toast.LENGTH_LONG).show();
break;
}
} }

android 12 click事件的不同实现方式的更多相关文章

  1. android点击事件的四种方式

    android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...

  2. Android 按钮响应事件的几种方式

    目录 1.在布局中指定onClick属性 2.使用匿名内部类 3.在当前Activity中实现OnClickListener接口 4.创建内部类 1.在布局中指定onClick属性 布局代码 < ...

  3. jq和js中click 事件的几种方式总结和click事件的累加问题解决办法

     1:常见的三种绑定click事件: 第一种:$("#click").click(function(){ alert("Hello World  click") ...

  4. jquery调用click事件的三种方式

    第一种方式: $(document).ready(function(){ $("#clickme").click(function(){ alert("Hello Wor ...

  5. android button click事件

    package a.a; import android.app.Activity;import android.os.Bundle;import android.view.View;import an ...

  6. 界面跳转+Android Studio Button事件的三种方式

    今天学习界面跳转 java类总是不能新建成功 看了网上教程 (20条消息) 关于android studio无法创建类或者接口问题的解决方法_qq_39916160的博客-CSDN博客 可以新建了 但 ...

  7. Android实现双击事件的两种方式

    Work around的方法是先监听onTouch事件来监听连续点击次数,每次点击都布置一个间隔时间的延时任务,延时任务执行时判断间隔内是否还有点击,如果没有则发布点击次数,重置计数. 实现代码如下: ...

  8. jquery移除click事件

    原文链接:https://blog.csdn.net/weixin_41228949/article/details/83142661 在html中定义click事件有两种方式,针对这两种方式有两种移 ...

  9. Android 12(S) 图像显示系统 - drm_hwcomposer 简析(下)

    必读: Android 12(S) 图像显示系统 - 开篇 合成方式 合成类型的定义:/hardware/interfaces/graphics/composer/2.1/IComposerClien ...

随机推荐

  1. 知识管理(knowledge Management)2

    ①找到生命的主轴 ②跨领域知识管理

  2. highcharts-Highmaps 动态传入城市名称

    做前端按地区(地图)分布监控数据展示用了 HIGHMAPS JAVASCRIPT MAPS 控件,很好很强大. 基础实现是这样的:调用插件动态传入需要展示的数据(data),插件会在地图数据(mapd ...

  3. 正则表达式替换img标签src值!!!

    方法一: 相关链接:http://bbs.csdn.net/topics/320185735 实例:此实例自己做的时候讲字符串加了alt进行了有关修改  不清楚看上面链接 string test = ...

  4. C语言嵌入式系统编程修炼之三:内存操作

    数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力.在嵌入式系统的实际调试中,多借助C语言指针所具 ...

  5. [SQL Server]一次执行资料夹内的.sql 指令码

    原文:[SQL Server]一次执行资料夹内的.sql 指令码 初始资料库时,我们Developers们会准备很多.sql指令码来建立资料表.检视甚至初始资料,那麽要怎麽一次执行资料夹内的*.sql ...

  6. Android开源项目发现--- 工具类网络相关篇(持续更新)

    1. Asynchronous Http Client for Android Android异步Http请求 项目地址:https://github.com/loopj/android-async- ...

  7. lc面试准备:Reverse Bits

    1 题目 Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represente ...

  8. Android实用代码七段(一)

    前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: htt ...

  9. Java项目中使用配置文件配置

    private String readConfig() { Properties p = new Properties(); InputStream in = getClass().getClassL ...

  10. Google Map API 学习五

    今天其实收货很大的 1.InfoWindow google.maps.InfoWindow class An overlay that looks like a bubble and is often ...