Button的四种实现方式

/**
* Button的四种写法
*/

//第一种先获取button,然后给button添加监听事件,创建实现OnClickListener接口的类,
//在接口类里实现button的响应事件。
Button callBtn = (Button) this.findViewById(R.id.callBtn);
callBtn.setOnClickListener(new MyListener());

//创建实现接口的类
public class MyListener implements OnClickListener {

  @Override
  public void onClick(View v) {
  /**
  * 方法实现
  */
  }
}

//第二种直接在添加监听的时候创建接口的实例
Button callBtn = (Button) this.findViewById(R.id.callBtn);
callBtn.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
  /**
  * 具体实现
  */
  }
});

//第三种让MainActivity实现接口OnClickListener

public class MainActivity extends Activity implements OnClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button callBtn = (Button) this.findViewById(R.id.callBtn);
callBtn.setOnClickListener(this);
}

  @Override
  public void onClick(View v) {
  

  /**
  * 当有很多button的时候让当前的MainActivity继承onClickListener接口,  
  在要实现的方法里用switch case 语句判断从而实现
  *
  */
  switch (v.getId()) {
  case R.id.callBtn:
  break;
  default:
  break;
  }
}

}

}

//第四种在activity_main.xml中<Button />里添加android:onClick="callPhone"
//然后在MainActivity.java里实现
//其实是通过反射实现的

public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
}
  public void callBtnClicked(View v) {
  /**
  * 具体实现
  */
  }

}

时间: 2024-10-02 07:31:22

Button的四种实现方式的相关文章

Android开发之基本控件和详解四种布局方式

Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局.而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式.先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio.开始今天的正题, 虽然A

Android学习—Button的四种OnClick响应方法

在Android或Java开发中,对于button的OnClickListener有下面四种实现方式,可以根据需要选择合适的用法. 方法一: 适合场景:通用  Button bt_Demo = (Button)findViewById(R.id.bt_Demo);  bt_Demo.setOnClickListener(new OnClickListener()  {   @Override   public void onClick(View v)   {    //响应Clicked事件  

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File 之 —— SQLite

本文在http://www.cnblogs.com/wisekingokok/archive/2011/09/14/2174844.html 基础上写了一个进阶的创建方式,技术能用新的就用新的. 参考了http://blog.csdn.net/liuhe688/article/details/6715983.仅供学习参考 SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大

利用图形窗口分割法将极坐标方程:r=cos(θ/3)+1/9用四种绘图方式画在不同的窗口中

利用图形窗口分割法将极坐标方程:r=cos(θ/3)+1/9用四种绘图方式画在不同的窗口中. 解:MATLAB指令: theta=0:0.1:6*pi;rho=cos(theta/3)+1/9; >> polar(theta,rho) >> >> plot(theta,rho) >> semilogx(theta,rho) >> grid >> hist(rho,15) 结果分别如下图: 图1 图2 图3 图4

mysql的四种启动方式

mysql的四种启动方式: 1.mysqld 启动mysql服务器:./mysqld --defaults-file=/etc/my.cnf --user=root 客户端连接: mysql --defaults-file=/etc/my.cnf or mysql -S /tmp/mysql.sock 2.mysqld_safe 启动mysql服务器:./mysqld_safe --defaults-file=/etc/my.cnf --user=root & 客户端连接: mysql --de

CSS的四种引入方式

CSS的引入方式最常用的有三种, 第一:在head部分加入<link  rel="stylesheet" type="text/css" href="my.css"/>,引入外部的CSS文件. 这种方法可以说是现在占统治地位的引入方法.如同IE与浏览器.这也是最能体现CSS特点的方法:最能体现DIV+CSS中的内容与显示分离的思想,也最易改版维护,代码看起来也是最美观的一种. 第二:在head部分加入<style type=&q

同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式

1. 概念理解        在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:   同步/异步主要针对C端: 同步:      所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回.也就是必须一件一件事做,等前一件做完了才能做下一件事.   例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步:      异步的概念和同步相对.当c端一个

[转][Android]Android数据的四种存储方式

android.database.sqlite类 SQLiteQueryBuilder java.lang.Object android.database.sqlite.SQLiteQueryBuilder public class SQLiteQueryBuilderextends Object This is a convience class that helps build SQL queries to be sent to SQLiteDatabase objects. 构造方法摘要

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Pro