首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

关于View:setTag()和getTag()

2012-06-30 
关于View::setTag()跟getTag()写一个自定义的Adapter用来绑定ListView,在重写getView的时候发现网上参考代

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

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

?

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

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

import android.app.Activity;     import android.os.Bundle;     import android.view.View;     import android.widget.Button;         public class Main extends Activity {                 @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) {                 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;                 }             }             }         }   
?

热点排行