2016-03-28 18 views
0

null değerini döndürür. View.getTag, getView yönteminin dışında null değerini döndürür.view.getTag (key), android

public View getView(int position, View convertView, ViewGroup parent) 
{ 
    if (convertView == null) 
    { 
     mHolder = new GridViewHolder(); 
     convertView = LayoutInflater.from(mContext).inflate(R.layout.grid_view_item, parent, false); 
     mHolder.overflowButton.setOnClickListener(overflowClickListener); 
     mHolder.titleText = (TextView) convertView.findViewById(R.id.gridViewTitleText); 
     convertView.setTag(mHolder); 
    } 
    else 
    { 
     mHolder = (GridViewHolder) convertView.getTag(); 
    } 
    titleText = "tagsvalues"; 
    convertView.setTag("titleText", titleText); 
    mHolder.titleText.setText(titleText); 
    return convertView; 
} 

/** 
* Click listener for overflow button. 
*/ 
private OnClickListener overflowClickListener = new OnClickListener() 
{ 
    @Override 
    public void onClick(View v) 
    { 
     if(v.getTag("titleText") == null) 
      Log.e("mName", "Null value returns by above getTag"); 
    } 
}; 

Lütfen bu sorunu çözmek için beni kontrol edin ve yönlendirin. Şimdiden teşekkürler.

+0

i hafifçe senin için biçimlendirme düzeldi. her neyse son noktalı virgül (';') gerçekten orada olması gerekir? sonucu değiştirmez ama en azından orada yanlış olduğunu düşünüyorum. – cramopy

cevap

0

Sen mHolder.overflowButton tıklama dinleyici belirliyoruz. Bu overflowButton etiketinde hiç yok. Etiketi convertView.setTag("titleText", titleText); olarak ayarlamış olduğunuzu ve overflowButton ürününü değil.

Fix: mHolder.overflowButton.setTag("titleText", titleText);

+0

Çok teşekkürler. Bu başkaları için basit bir sorun olabilir ama benim için büyük bir şey :) çünkü etiketin öneminin doğru bir şekilde farkında değilim. Tekrar teşekkürler. –

+0

Elbette, sorun değil :) –