View的setOnClickListener的添加方法

转载 2015年11月19日 19:37:05

原文地址:http://ygc87.blog.163.com/blog/static/239606520114195434583/

View的setOnClickListener的添加方法  

1)第一种,也是最长见的添加方法(一下都以Button为例)
Button btn = (Button) findViewById(R.id.myButton);
btn .setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
//do something
        }
    });

2)第二种,下面这个方法较前一种稍微简单了一些,允许多个Buttons共享一个Listener。通过Switch控制对不同Button Click事件的响应方法:

Button btn = (Button) findViewById(R.id.mybutton);
Button btn2 = (Button) findViewById(R.id.mybutton2);
btn.setOnClickListener(handler);
btn2.setOnClickListener(handler);
View.OnClickListener handler = View.OnClickListener() {
        public void onClick(View v) {
            switch (v.getId()) {
               case R.id.mybutton: 
//do something
               break;
               case R.id.mybutton2: 
//do something
               break;
            }
    }

3)第三种,直接将Clicklistener捆绑XML layout中的Views元素,在程序中定义的Listener方法需要带有一个View类型的参数:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:id="@+id/text"
        android:text="@string/hello" />
    <Button android:id="@+id/mybutton" android:layout_height="wrap_content"
        android:layout_width="wrap_content" android:onClick="mybuttonlistener"></Button>
</LinearLayout>

java代码:
Button btn = (Button) findViewById(R.id.mybutton);

public void mybuttonlistener(View target){
//do something
    }

setOnClickListener报空指针异常

1.异常提示: 2.错误原因:
  • zhufuing
  • zhufuing
  • 2014年05月31日 20:11
  • 8009

OnClickListener的不同用法

相信很多像我一样的新手学习ANDROID开发会遇到这个问题,通过这几天的归类和总结,将我的理解写在下面,欢迎大家一起前来讨论: 以按钮BUTTON的监听事件为例,以下的监听实现都是等价的: ...
  • kakaxi1o1
  • kakaxi1o1
  • 2013年10月04日 21:10
  • 15786

让你的代码减少三倍!使用kotlin开发Android(五) 监听器

本文同步自 博主的私人博客wing的地方酒馆在前面的博客中,有一个栗子,是点击按钮转跳的监听器。 button.setOnClickListener { val user = User("...
  • wuliang756071448
  • wuliang756071448
  • 2017年05月19日 18:04
  • 1746

View的setOnClickListener的添加方法

http://www.cnblogs.com/lingyun1120/archive/2011/09/29/2195449.html 1)第一种,也是最长见的添加方法(一下都以Button为...
  • wuxinliulei
  • wuxinliulei
  • 2013年09月08日 15:19
  • 905

【转载】View的setOnClickListener的添加方法

1)第一种,也是最长见的添加方法(一下都以Button为例) 1 Button btn = (Button) findViewById(R.id.myButton); 2 btn .s...
  • u011305774
  • u011305774
  • 2013年07月04日 18:22
  • 315

BaseAdapter的getView方法中对setOnclickListener优化

在应用开发中凡是又列表式的界面我都采取使用ListView来呈现界面,并且需要一个BaseAdapter来加载数据进去,所以我们就需要重写getView方法,那么问题来了,在每一个Item都有一个按钮...
  • Neacy_Zz
  • Neacy_Zz
  • 2015年08月18日 22:14
  • 1138

Android View.setOnclickListener(),View.onTouchEvent(),View.setOnTouchListener()关系源码分析

同样是在上一篇文章中代码,我们给Acitvity中的mView添加一个监听器:myView.setOnClickListener(new OnClickListener() { @Overri...
  • zhang_jun_ling
  • zhang_jun_ling
  • 2016年04月09日 18:57
  • 1972

Android在布局中动态添加view的两种方法

一、说明 添加视图文件的时候有两种方式:1、通过在xml文件定义layout;2、java代码编写二、前言说明1.构造xml文件2.LayoutInflater提到addview,首先要了解一下La...
  • Xd_Yu
  • Xd_Yu
  • 2016年05月19日 17:30
  • 16547

iOS8 table view添加左滑出现按钮组的方法

http://blog.csdn.net/ios_dashen/article/details/50497331  IOS8以后table view中添加了可以左滑出现按钮组的方法,如下图: ...
  • coloriy
  • coloriy
  • 2016年10月27日 14:45
  • 334

android中通过添加view使用ViewPager出现的问题及解决方法

最近写了一个小程序,在android中通过添加ImageView使用ViewPager实现几个界面的切换,当滑动到最后一个页面时继续向后滑动的时候程序崩溃了,出现了一个异常,异常详细信息如下: 08-...
  • you__are_my_sunshine
  • you__are_my_sunshine
  • 2016年08月06日 17:17
  • 875
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:View的setOnClickListener的添加方法
举报原因:
原因补充:

(最多只允许输入30个字)