文档章节

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
RN打开原生界面--android

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

Chason-洪
2017/10/21
0
0
Android app项目开发步骤总结

发布了android应用后,虽然功能初期比较简单,但是开发流程已经走通,这里总结项目的基本开发步骤,希望能够交流。 一 应用规划 确定功能。 必须的界面及界面跳转的流程。 需要的数据及数据的...

紫地瓜
2012/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于pip

我在更新pip的时候碰到的一些问题。 第一次安装,直接安装就ok了,所以也没研究,没想到后来由于安装了python2.x和python3.x之后出现了问题。 如果要将pip更新到最新版本需要指明是哪个版本的...

恰东
34分钟前
1
0
对硬盘进行分区时,GPT和MBR有什么区别

在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区。GPT是一种新的标准,并在逐渐取代MBR。 GPT带来了很多新特性,但MBR仍然拥有最好的兼容性。GPT并不是Windows专用的...

yizhichao
36分钟前
3
0
区块链教程btcpool矿池源码分析StratumServer模块解析

兄弟连区块链教程btcpool矿池源码分析StratumServer模块解析 核心机制总结 接收的job延迟超过60秒将丢弃 如果job中prevHash与本地job中prevHash不同,即为已产生新块,job中isClean状态将置为...

兄弟连区块链入门教程
37分钟前
1
0
JS中的异常捕获

JS中的异常捕获(目的:把抛出的错误捕获到,不让其阻断浏览器的继续执行) try{//需要执行的JS代码(可能会报错)}catch(e){//try中代码报错,会执行catch}finally{//不管try中的代...

NDweb
47分钟前
2
0
ObjectARX_AcDb2dPolyline复杂实体

1遍历:访问或者编辑复杂实体也需要通过特定的方式。 AcDb2dPolyline的顶点信息不能通过AcDb2dPolyline对象直接得到,需要遍历AcDb2dPolyline所包含的AcDb2dVertex对象: void IteratePolylin...

一个小妞
48分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部