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
    }

相关文章推荐

View的setOnClickListener的添加方法

http://www.cnblogs.com/lingyun1120/archive/2011/09/29/2195449.html 1)第一种,也是最长见的添加方法(一下都以Button为...

BaseAdapter的getView方法中对setOnclickListener优化

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

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

同样是在上一篇文章中代码,我们给Acitvity中的mView添加一个监听器:myView.setOnClickListener(new OnClickListener() { @Overri...

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

最近写了一个小程序,在android中通过添加ImageView使用ViewPager实现几个界面的切换,当滑动到最后一个页面时继续向后滑动的时候程序崩溃了,出现了一个异常,异常详细信息如下: 08-...

Android中在非Activity中添加Toast等View控件问题的解决方法

一般写程序主函数很长会不美观,更不好阅读!解决方法当然写到子类里,或建个方法去出来,但有网友可能遇到和博主同样的问题,像Toast,Dialog或者Button、TextView这些在Activity...

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

一、说明     添加视图文件的时候有两种方式:1、通过在xml文件定义layout;2、java代码编写 二、前言说明 1.构造xml文件 2.LayoutInflater ...

Ultra-Pull-To-Refresh动态添加View不能正常显示BUG解决方法

上文讲到Ultra-Pull-To-Refresh框架的简单示例,在动态添加PtrFrameLayout或者PtrClassicFrameLayout时踩到坑了,无法显示添加的子View。代码如下: ...

重大发现:强大的setOnClickListener!

比 android:onClick=”go2”要强大! 比如在linearlayout中设置可点击,go2失效,setOnClickListener完全没有问题,以后就用它了!!代码如下 xml...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:View的setOnClickListener的添加方法
举报原因:
原因补充:

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