日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > [置頂] Android之:View的setTag()與getTag()方法使用

[置頂] Android之:View的setTag()與getTag()方法使用

來源:程序員人生   發布時間:2015-06-04 08:26:14 閱讀次數:4428次

  通常我們是用findViewById()方法來獲得我們要使用的View控件,不過除這1種方法的地方 ,我們還可以用View中的setTag(Onbect)給View添加1個格外的數據,再用getTag()獲得到對應的View。setTag()和getTag()方法經常使用在處理多個相同的View時,比如我們有要對幾個Button添加點擊事件,我們除可以用view.getId()來辨別Button,也能夠給Button設置Tag來進行辨別。如:

public class TagTestActivity extends Activity implements OnClickListener {
private Button tagBtn2,tagBtn3,tagBtn4;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
dealBtnsListeners();
}
private void initViews() {
tagBtn2=(Button) findViewById(R.id.tag_btn_2);
tagBtn3=(Button) findViewById(R.id.tag_btn_3);
tagBtn4=(Button) findViewById(R.id.tag_btn_4);
}
private void dealBtnsListeners() {
tagBtn2.setOnClickListener(this);
tagBtn3.setOnClickListener(this);
tagBtn4.setOnClickListener(this);
tagBtn2.setTag(2);
tagBtn3.setTag(3);
tagBtn4.setTag(4);
}
@Override
public void onClick(View v) {
//1般我們根據控件的id來判斷是哪一個Button被點擊,這里我們用getTag()來判斷
int btnId=(int) v.getTag();
switch (btnId) {
case 2:
Toast.makeText(this, "點擊Tag為2的Button", 3000).show();
break;
case 3:
Toast.makeText(this, "點擊Tag為3的Button", 3000).show();
break;
case 4:
Toast.makeText(this, "點擊Tag為4的Button", 3000).show();
break;
default:
break;
}
}
}

但是Tag最經常使用的地方其實不在上面所講的。用過ListView的火伴們對Tag肯定不陌生。為了提高程序性能,我們在給ListView寫適配器Adapter的時候,我們就要用到Tag,下面的代碼大家肯定有過啦:

static class ViewHolder {  
   private TextView tagTv01;  
   private  TextView tagTv02;  
}  
 
public View getView(int position, View convertView, ViewGroup parent) {  
   if (convertView == null) {  
       LayoutInflater inflater = mContext.getLayoutInflater();  
       convertView = inflater.inflate(R.layout.item_tag, null);  
       ViewHolder vh = new ViewHolder();  
       vh.tagTv01 = (TextView)convertView.findViewById(R.id.tagTv01);  
       vh.tagTv02 = (TextView)convertView.findViewById(R.id.tagTv01);  
       convertView.setTag(vh);  
   }  else{

           vh=(ViewHolder) convertView.getTag();

    }
       //添加數據........  
}  

     除以上的兩種 情況,我們通常不建議用setTag()和getTag(),主要是斟酌到代碼的可讀性,另外就是setTag(Objcet)中傳的是Object對象,存在對象轉化 問題。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩精品视频一区二区三区 | 色综合久久网 | 国产成人精品免费视频大全 | 国产日产欧美一区二区 | 日韩一区二区三区四区五区 | 国产在线视频91 | 欧美精品v国产精品v日韩精品 | 久久久鲁| 国产一区二区三区在线观看免费 | 久久亚洲线观看视频 | 亚洲欧美婷婷 | 国产激情视频在线 | 国产精品综合一区二区 | 91麻豆精品一区二区三区 | 亚洲国产一区在线 | 精品久久久中文字幕 | 亚洲免费三级 | 久久亚洲综合 | 亚洲激情视频 | 午夜日韩| 久久久久国产一级毛片高清网站 | 国产成人精品久久 | 亚洲精品一 | 俄罗斯精品一区二区三区 | 成人精品视频在线 | 91精品国产乱码久久久 | 久久一日本道色综合久久大香 | 精品国产伦一区二区三区免费 | 国产免费一区 | 黄网在线免费观看 | 99麻豆久久久国产免费福利精品 | 91精品久久久久久久久 | 欧美高清二区 | 国产尤物视频 | 欧美日韩a | 国产精品岛国久久久久久 | 超碰999| 91久久国产综合久久 | 中文字幕在线亚洲 | 91亚洲精品中文字幕 | 午夜一级毛片 |