现在的位置: 首页 > 综合 > 正文

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

2013年10月05日 ⁄ 综合 ⁄ 共 1245字 ⁄ 字号 评论关闭

转载:http://www.apkbus.com/android-13264-1-1.html

写一个自定义的Adapter用来绑定ListView,在重写getView的时候发现网上参考代码有用到setTag()和getTag()两个函数

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

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

示例代码如下:

public class MainActivity 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);     
     
          MyListener listener = new MyListener();  
         
          button1.setTag(1);     
          button1.setOnClickListener(listener);   
         
          button2.setTag(2);     
          button2.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;         
              }     
          }           
      }      
  }   

抱歉!评论已关闭.