文档章节

Android五按钮事件写法

n
 nealkafuly
发布于 2016/02/29 21:01
字数 327
阅读 12
收藏 0

1、利用内部类

public class MainActivity extends AppCompatActivity

{

  private EditText er_number;

  @override

  private void OnCreate(Bundle savedInstanceState)

  {

    super.onCreate(savedIstanceState);

    //加载布局文件

    setContentView(R.layout.active_main);

    //查找按钮

   Button btn_dial=(Button)findViewById(R.id.doal_number);

   //给按钮注册点击事件,在注册事件的时候要求一个接口数据类型

   btn_dial.setOnClickListener(new MyListener());

  //查找文本框

   et_number=(EditText)MainAcitivity.this.findViewById(R.id.et_number);

}

//实现接口

private class MyListener implemnts View.OnClickListener

{

  @override

  public void onClick(View v)

  {

    String number =et_number.getText().toString().trim();

    //试图做某一件事

    Intent intent =new Intent();

    intent.setAction(Intent.ACTION_CALL);

    intent.setData(Uri.parse(“tel:”+number));

    startActivity(intent);

  }

}

}

2、采用匿名内部类的方式

btn_dial.setOnClickListener(new View.OnClickListener()

{

 @override

 public void onClik(View  v)

{

callPhone();

}

}

);

 

private void callPhone()

{

//同上

 

}

3、采用activity实现接口

public MainAcyivity implements OnClickListener

{

btn_setOnClicklistener(this);

 

 

@Override

public void onClick(View v)

{

switch(v.getId())

{

case R.id.et_dial:callPhone();

              break;

default:

   break;

 

}

}

4、采用映射的方式(就是在xml文件里注册一个事件,然后再java文件中实现)

androidonClick=”dialButtoncliked”

public void dialButtoncliked(View v)

{

  callPhone();

}

 

5、采用重构的方式来编写代码,就不用判断id

比如在三个按钮的点击事件时候,都是对LinearLayout对象进行编辑,也就是说可以转化为LinearLyout对象,代码如下:

private LinearLayout[] tabs;

 

tabs=new LinearLayout[]{sampleTab,identifyTab,searchTab};

 

public void onClick(View arg0)

{

  setTabChecked(sampleTab);

 

}

 

public void onClick(View arg0)

{

  setTabChecked(identifyTab);

}

 

public void onClick(View arg0)

{

  setTabChecked(searchTab);

}

 

//实现settabChecked()方法

public void setTabChecked(LinearLayout tab)

{

for()

...

}


© 著作权归作者所有

共有 人打赏支持
n
粉丝 0
博文 2
码字总数 407
作品 0
梧州
react native 基础(二)

一.JSON输出(列表输出) let appData=require("./appData.json"); //导入JSON文件 export default class ReacrtNativeProject extends Component {render() { } returnAllBao(){ }} 二.TextIn......

Chason-洪
2017/07/21
0
0
React Navigation

https://reactnavigation.org/docs/intro/nesting 官网 http://blog.csdn.net/u013718120/article/details/72357698 http://www.jianshu.com/p/2f575cc35780 这里只是基本用法,高级详情用法......

Chason-洪
2017/11/15
0
0
总结android项目的基本开发步骤(转帖)

总结android项目的基本开发步骤(转帖) 做了几个android企业应用项目后,总结了项目的基本开发步骤,希望能够交流。 一 应用规划: ※确定功能。 ※必须的界面及界面跳转的流程。 ※需要的数...

thinkyoung
2015/07/20
0
0
常见的移动端H5页面开发遇到的坑和解决办法

手机共通问题 问题一:用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经研究发现是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页字会非常小,所以苹果...

webmirror
05/02
0
0
RN打开原生界面--android

在看此文之前请先看我的RN调用原生方法基础---android(原生吐司为例); https://my.oschina.net/u/3112095/blog/1554254 RN与原生的通信: RN触发android原生的方法:(启动一个原生界面Act...

Chason-洪
2017/10/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud Gateway真的有那么差吗?

前言 Spring Cloud从一开始最受大家质疑的就是网关性能,那是由于Spring Cloud最初选择了使用Netflix几年前开源的Zuul作为基础,而高性能版的Zuul 2在经过了多次跳票之后,对于Spring这样的整...

Java小铺
37分钟前
1
0
SpringBoot远程调试,远程debug你的线上项目

开发环境中代码出错了,可以利用IDE的debug功能来进行调试。那线上环境出错呢? 一、假设我们的项目是部署在tomcat中,那我们就需要对tomcat进行一定对配置,配置如下。 1. windows系统中,找...

nonnetta
42分钟前
0
0
JAVA秒杀优化方向

秒杀优化方向 将请求尽量拦截在系统上游:传统秒杀系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小,我们可以通过限流、...

小贱是个程序员
50分钟前
0
0
C# 统计字符串中大写字母和小写字母的个数

static void Main() { int count1 = 0; int count2 = 0; Console.WriteLine("请输入字符串"); string str = Convert.ToString(Consol......

熊二的爸爸是谁
52分钟前
0
0
分布式服务框架之远程通讯技术及原理分析

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是...

老道士
57分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部