关于View::setTag()跟getTag()

写一个自定义的Adapter用来绑定ListView,在重写getView的时候发现网上参考代码有用到setTag()和getTag()两个函数,百度找不到答案,google一搜就知道了,:P

 

View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。

可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。

package com.hgy.view;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button button1= (Button)findViewById(R.id.Button01);
Button button2= (Button)findViewById(R.id.Button02);
Button button3= (Button)findViewById(R.id.Button03);
Button button4= (Button)findViewById(R.id.Button04);

MyListener listener = new MyListener();
button1.setTag(1);
button1.setOnClickListener(listener);

button2.setTag(2);
button2.setOnClickListener(listener);

button3.setTag(3);
button3.setOnClickListener(listener);

button4.setTag(4);
button4.setOnClickListener(listener);

}

public class MyListener implements View.OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int tag = (Integer)v.getTag();

switch(tag){
case 1:
System.out.println("button1 click");
break;
case 2:
System.out.println("button2 click");
break;
case 3:
System.out.println("button3 click");
break;
case 4:
System.out.println("button4 click");
break;
}
}

}
}

你可能感兴趣的:(ListView,Google,百度,Integer,Class,button)