View的setOnClickListener的添加方法

1)第一种,也是最长见的添加方法(一下都以Button为例)

1 Button btn = (Button) findViewById(R.id.myButton);2 btn .setOnClickListener(new View.OnClickListener() {3         public void onClick(View v) {4 //do something5         }6     });

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

 1 Button btn = (Button) findViewById(R.id.mybutton); 2 Button btn2 = (Button) findViewById(R.id.mybutton2); 3 btn.setOnClickListener(handler); 4 btn2.setOnClickListener(handler); 5 View.OnClickListener handler = View.OnClickListener() { 6         public void onClick(View v) { 7             switch (v.getId()) { 8                case R.id.mybutton:  9 //do something10                break;11                case R.id.mybutton2: 12 //do something13                break;14             }15     }

3)第三种,直接将Clicklistener捆绑XML layout中的Views元素,在程序中定义的Listener方法需要带有一个View类型的参数:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:orientation="vertical" android:layout_width="fill_parent" 4     android:layout_height="fill_parent"> 5     <TextView android:layout_width="fill_parent" 6         android:layout_height="wrap_content" android:id="@+id/text" 7         android:text="@string/hello" /> 8     <Button android:id="@+id/mybutton" android:layout_height="wrap_content" 9         android:layout_width="wrap_content" android:onClick="mybuttonlistener"></Button>10 </LinearLayout>

java代码:

1 Button btn = (Button) findViewById(R.id.mybutton);2 3 public void mybuttonlistener(View target){4 //do something5     }
时间: 2024-10-11 20:42:37

View的setOnClickListener的添加方法的相关文章

从零开始学android开发-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控制对不同But

Android之:View的setTag()与getTag()方法使用

通常我们是用findViewById()方法来取得我们要使用的View控件,不过除了这一种方法之处 ,我们还可以用View中的setTag(Onbect)给View添加一个格外的数据,再用getTag()获取到对应的View.setTag()和getTag()方法常用在处理多个相同的View时,比如我们有要对几个Button添加点击事件,我们除了可以用view.getId()来区分Button,也可以给Button设置Tag来进行区分.如: public class TagTestActivit

View的setTag和getTag方法

---恢复内容开始--- public View getView(int position, View convertView, ViewGroup parent) { Msg msg =getItem(position); View view; ViewHolder viewHolder; if(convertView==null){ view=LayoutInflater.from(getContext()).inflate(resourceId, null); viewHolder = n

Runtime(动态添加方法)

A问:  有没有使用过performSelector,什么时候使用?动态添加方法的时候使用过?怎么动态添加方法?用runtime?为什么要动态添加方法? B:Runtime(动态添加方法):OC都是懒加载机制,只要一个方法实现了,就会马上添加到方法列表中. app:免费版,收费版 QQ,微博,直播等等应用,都有会员机制 // 任何方法默认都有两个隐式参数,self,_cmd // 什么时候调用:只要一个对象调用了一个未实现的方法就会调用这个方法,进行处理 // 作用:动态添加方法,处理未实现 +

把View转化成Bitmap的方法

方法一: /** * 把View绘制到Bitmap上 * @param view 需要绘制的View * @param width 该View的宽度 * @param height 该View的高度 * @return 返回Bitmap对象 * add by csj 13-11-6 */ public Bitmap getViewBitmap(View comBitmap, int width, int height) { Bitmap bitmap = null; if (comBitmap

ios runtime 动态向类添加方法

1.定义C函数: void dynamicMethodIMP(id self, SEL _cmd) { NSLog(@"蜗牛也疯狂"); } 2.重写函数+(BOOL)resolveInstanceMethod:(SEL)sel +(BOOL)resolveInstanceMethod:(SEL)sel { class_addMethod([self class], sel, (IMP)dynamicMethodIMP, "[email protected]:");

数据库中的五种约束及其添加方法

数据库中的五种约束及其添加方法五大约束1.—-主键约束(Primay Key Coustraint) 唯一性,非空性 2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3.—-检查约束 (Check Counstraint) 对该列数据的范围.格式的限制(如:年龄.性别等) 4.—-默认约束 (Default Counstraint) 该数据的默认值 5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列五大

Ugui按钮事件添加方法

按钮事件添加方法3个例子 Eg1: using UnityEngine; using System.Collections; using UnityEngine.Events;//引用事件命名空间 using UnityEngine.UI;//引用UI命名空间 public class Test : MonoBehaviour { // Use this for initialization void Start () { //定义Action,并赋予delegate方法 UnityAction

jquery 添加方法 : $.fn.方法名 = function(参数a,b,c){

$.fn.image_checked = function(self,status,img_body,csrf_token){             $(this).live('click', function(){        var index = $(this).index()        var img_id = $('.'+self+' input').eq(index).val();                $.ajax({            type:'POST',