zoukankan      html  css  js  c++  java
  • 巧妙的OnClick监听使用,不用再写btn.setOnclickListener

    查了网上的一些资料,加上个人的了解,写成了这篇博客

    博客来自:http://blog.csdn.net/liuxian13183

    在Android1.6里面,添加Listener的工作变得相当的简单(感觉更像在做网页编程!),具体步骤如下:
    1.首先在layout里面定义Button并指定响应的Listener
    <?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:text="@string/hello"  
        />  
    <Button   
        android:text="Button01"   
        android:id="@+id/Button01"   
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"  
        android:onClick="myClickHandler01"  
        />  
    <Button   
        android:text="Button02"   
        android:id="@+id/Button02"   
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"  
        android:onClick="myClickHandler02"  
        />  
    <TextView    
        android:layout_width="fill_parent"   
        android:layout_height="wrap_content"   
        android:text="@string/hello"  
        />  
    </LinearLayout>  
    其中以下这两行就是新增的特性:
    android:onClick="myClickHandler01"
    android:onClick="myClickHandler02"
     
    2.在活动里面定义public的方法myClickHandler01、和myClickHandler02(注意这两个方法必须有一个
    View的形参)。
    package com.ray.test;  
      
    import android.app.Activity;  
    import android.os.Bundle;  
    import android.view.View;  
      
    public class TestOnClickListener extends Activity {  
         
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.main);  
              
      
        }  
        public void myClickHandler01(View target){  
            setTitle("myClickHandler01");  
        }  
        public void myClickHandler02(View target){  
            setTitle("myClickHandler02");  
        }  
    }  
    当然,你也可以采用这种写法:
    将两个按钮设置到同一个Listener
    android:onClick="myClickHandler"
    android:onClick="myClickHandler"
    package com.ray.test;  
      
    import android.app.Activity;  
    import android.os.Bundle;  
    import android.view.View;  
      
    public class TestOnClickListener extends Activity {  
         
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.main);  
        }  
        public void myClickHandler(View target){  
             switch (target.getId()) {  
             case R.id.Button01:   
                 setTitle("myClickHandler01");  
                 break;  
             case R.id.Button02:   
                 setTitle("myClickHandler02");  
                 break;  
             }  
        }  
    }

    相当的好用!

  • 相关阅读:
    atitit.TokenService v3 qb1 token服务模块的设计 新特性.docx
    Atitit attilax在自然语言处理领域的成果
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
    Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结
    atitit。企业的价值观 员工第一 vs 客户第一.docx
    Atitit 实现java的linq 以及与stream api的比较
    Atitit dsl exer v3 qb3 新特性
    Atititi tesseract使用总结
    Atitit 修改密码的功能流程设计 attilax总结
    atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
  • 原文地址:https://www.cnblogs.com/fengju/p/6174495.html
Copyright © 2011-2022 走看看