本文记录一下按钮的四种点击事件

第一种

public class MainActivity extends Activity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //------------第一种----------------------
Button bt1=(Button)findViewById(R.id.bt1);
bt1.setOnClickListener(new MyListener());
} class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("这是第一种");
}
}
}

第二种

public class MainActivity extends Activity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //------------第二种----------------------
Button bt2=(Button)findViewById(R.id.bt2);
bt2.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("这是第二种"); }
});
} class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("这是第一种");
}
} }

代码量比较大,不能重复利用

第三种

public class MainActivity extends Activity implements OnClickListener{

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //------------第三种----------------------
Button bt3=(Button)findViewById(R.id.bt3);
bt3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("这是第三种");
}
}

第四种

在activity_main.xml中添加下面的代码:

     <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第四种"
android:onClick="youyiyi"
/>

在MainActivity.java中添加下面的代码:

public class MainActivity extends Activity implements OnClickListener{

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} //------------第四种----------------------
//当按钮被点击时,此方法会被调用
public void youyiyi(View v) {
// TODO Auto-generated method stub
System.out.println("这是第四种");
}
}

代码结构很差

完整的代码如下:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一种" /> <Button
android:id="@+id/bt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二种" /> <Button
android:id="@+id/bt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第三种" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第四种"
android:onClick="youyiyi"
/> </LinearLayout>

MainActivity.java

package com.wuyudong.clickevent;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends Activity implements OnClickListener{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //------------第一种----------------------
Button bt1=(Button)findViewById(R.id.bt1);
bt1.setOnClickListener(new MyListener());
//------------第一种----------------------
//------------第二种----------------------
Button bt2=(Button)findViewById(R.id.bt2);
bt2.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("这是第二种"); }
});
//------------第二种---------------------- //------------第三种----------------------
Button bt3=(Button)findViewById(R.id.bt3);
bt3.setOnClickListener(this); //------------第三种---------------------- } class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("这是第一种");
}
} @Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("这是第三种"); } //------------第四种----------------------
//当按钮被点击时,此方法会被调用
public void youyiyi(View v) {
// TODO Auto-generated method stub
System.out.println("这是第四种");
}
}

Android按钮的四种点击事件的更多相关文章

  1. Android中Button四种点击事件实现方式

    1.Xml添加监听属性,这里添加的doClick. <Button android:id="@+id/bt1" android:layout_width="wrap ...

  2. Android Button的四种点击事件

    bta1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.m ...

  3. Android入门——电话拨号器和四种点击事件

    相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个样例我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 ...

  4. android中的4种点击事件

    四种点击事件     (1)采用内部类的方式去实现OnClickListener      (2)匿名内部类     (3)当前类imp OnClickListener      (4)onclick ...

  5. android学习之4种点击事件的响应方式

    如题,下面就一一列出对点击事件响应的4种方式: 第一种:内部类的形式: package com.example.dail; import android.net.Uri; import android ...

  6. Android四种点击事件和五中存储方式

    Android点击事件的四种实现方式 1.内部类实现onClickListenter接口 bt_login.setOnClickListener(new MyListener()); class My ...

  7. Android Button四种点击事件和长按事件

    项目XML代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...

  8. Android 组件的三种点击事件写法

    一.准备工作 1.项目结构 2.布局文件(activity_main.xml) <?xml version="1.0" encoding="utf-8"? ...

  9. Android按钮绑定四种方式

    public class MainActivity extends Activity implements OnClickListener{ @Override protected void onCr ...

随机推荐

  1. linux rdate

    检查服务器时间,发现服务器时间与当前时间错了很多.于是调整. 使用ntpdate ,不管如何设置,包括关闭防火期,设置ntp.conf,结果都不成功. 随即使用网上提供的另外一种方法,临时先解决一下燃 ...

  2. Intel HAXM安装错误处理:(TV-x) is not turned on

    Android x86模拟器Intel Atom x86 System Image时提示Intel execute disable bit(xd) is not turned on 运行Elicpse ...

  3. 数据可视化(4)--jqplot

    本来打算继续研究Google Charts,但上头下了指示让看jqplot,无奈,只好先将Google Charts放一放,不过真心觉得Google Charts不错,现在先开始jqplot. jqP ...

  4. gulp-notify处理报错----gulp系列(二)

    上一节,以less为例,入门了gulp,并为任务结构做了抽离. 前端们,gulp该用起来了,简单的demo入门——gulp系列(一) 本节学习下gulp-notify,官方这样解释的: gulp-no ...

  5. 浅谈C++的this指针

    之所以写这篇文章,主要是为了回答网友 zhancaihua123同学的下面几个问题: father* p=new son;p->disp(...);father是父类,son是子类.disp是一 ...

  6. iOS-动态计算Label的高度

    一. 要求 1.根据网络请求的回来的字符串内容,动态计算Label的高度. 二. 注意点 1. 要注意设置label 的 numberOfLines 为0; 2. MAXFLOAT 的作用. 设置高度 ...

  7. 十分钟搞懂什么是CGI

    原文:CGI Made Really Easy,在翻译的过程中,我增加了一些我在学习过程中找到的更合适的资料,和自己的一些理解.不能算是严格的翻译文章,应该算是我的看这篇文章的过程的随笔吧. CGI真 ...

  8. Mysql 修改密码及重置密码方法

    修改密码: //选择数据库 use mysql; //修改密码 update user set password=password('新密码') where user='root'; //立即生效 f ...

  9. [阅读]个人阅读作业week7

    People-oriented in Agile People-oriented in Agile One Leader Prepare Good ideas from users People-or ...

  10. Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示

    一直以来,都希望整合一个以客户为中心的平台,有两个方面的考虑:一是实现客户数据.客户关系.客户管理等方面的整合,以便更好利用好客户的相关资源,发挥最大的营销效益:二是整合目前我的开发框架的所有模块和技 ...