關於View::setTag()和getTag()

來源:互聯網
上載者:User

轉載: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;         
              }     
          }           
      }      
  }   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.