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

第一种

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上的web服务

    环境:主机windows xp 虚拟机centos 6.4 [root@localhost /]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT[root ...

  2. Java工程师面试题,整理自网络与博主各种笔试面试,持续更新

    1.面向对象的特征有哪些方面? 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口. 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应.简单的说就是用同 ...

  3. ASP.NET 文件上传类 简单好用

    调用: UploadFile uf = new UploadFile(); /*可选参数*/ uf.SetIsUseOldFileName(true);//是否使用原始文件名作为新文件的文件名(默认: ...

  4. 一篇通俗易懂的讲解OpenGL ES的文章

    电脑或者手机上做图像处理有很多方式,但是目前为止最高效的方法是有效地使用图形处理单元,或者叫 GPU.你的手机包含两个不同的处理单元,CPU 和 GPU.CPU 是个多面手,并且不得不处理所有的事情, ...

  5. Mysql中的各种timeout

    在使用MySQL的过程中,你是否遇到了众多让人百思不得其解的Timeout?那么这些Timeout之后,到底是代码问题,还是不为人知的匠心独具?本期Out-man,讲述咱们MySQL DBA自己的Ti ...

  6. Mysql数据库安全管理配置

    1.删除test库 原因: The default MySQL installation comes with a database named test that anyone can access ...

  7. C#函数式程序设计之代码即数据

    自3.5版本以来,.NET以及微软的.NET语言开始支持表达式树.它们为这些语言的某个特定子集提供了eval形式的求值功能.考虑下面这个简单的Lambda表达式: Func<int, int, ...

  8. Spring基础—— SpEL

    一.SpEL:Spring 表达式语言,在使用的时候类似于 EL 表达式,但是需要注意的是,SpEL 使用在 Spring Config 文件中. 二.格式:使用 #{} 作为界定符,所有在大括号中的 ...

  9. C#类的一些概念

    一.概念 1.类的作用是来模拟现实对象的,一个现实对象可以从两个地方进行描述:特征和行为. 2.类不是你凭空想象的,它只是描述现实对象具体的特征和行为的. 3我们写类只需要写我们所需要的. 4.类是提 ...

  10. 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。

    错误:已超过传入消息(65536)的最大消息大小配额.若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性. 或者 错误:反序列化操作“GetAllUserData ...