我在这段代码中遇到过Viewholder大小写的情况,我不明白为什么我在Java中检查了强制类型转换的原因,从我的理解这是某种形式的下垂,但我不明白为什么在这里强制转换viewholder是代码
public View getView(int paramInt, View paramView, ViewGroup paramViewGroup)
{
ViewHolder localViewHolder;
if (paramView == null)
{
paramView = ((LayoutInflater)this.activity.getSystemService("layout_inflater")).inflate(this.row, null);
localViewHolder = new ViewHolder();
paramView.setTag(localViewHolder);
}
else
{
// here is my confustion in why cast viewholder
localViewHolder = (ViewHolder)paramView.getTag();
}
if (this.itemsCategory != null)
{
if (paramInt + 1 > this.itemsCategory.size()) {
return paramView;
}
答案 0 :(得分:0)
因为标签是属于View的任意对象。您可以将其设置为ViewHolder以外的其他对象,但是此模式使用ViewHolder,因此,应将其强制转换为ViewHolder。