Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android viewholder导致第一个视图项错误显示,一些视图飞溅_Android_Baseadapter - Fatal编程技术网

Android viewholder导致第一个视图项错误显示,一些视图飞溅

Android viewholder导致第一个视图项错误显示,一些视图飞溅,android,baseadapter,Android,Baseadapter,我发现了Android BaseAdapter viewHolder的一个问题。这样:我使用viewholder总是导致第一个视图项错误显示。就像第一个项目视图飞溅或一些视图飞溅一样。 大多数问题都是由低操作系统的Android设备引起的。 我不知道为什么。但是我停止使用viewHolder来解决问题。 为什么? public类PriceboxAdapter扩展了BasePriceboxAdapter{ 私有静态最终字符串标记=“PrecureBoxAdapter”; 私有静态最终布尔调试=Fe

我发现了Android BaseAdapter viewHolder的一个问题。这样:我使用viewholder总是导致第一个视图项错误显示。就像第一个项目视图飞溅或一些视图飞溅一样。 大多数问题都是由低操作系统的Android设备引起的。 我不知道为什么。但是我停止使用viewHolder来解决问题。
为什么?

public类PriceboxAdapter扩展了BasePriceboxAdapter{
私有静态最终字符串标记=“PrecureBoxAdapter”;
私有静态最终布尔调试=FeatureConfig.DEBUG_LOG;
私有最终AbsListView.LayoutParams参数;
私人最终整数mvieworlderheight;
public-BoxAdapter(上下文上下文、列表项、int-columnCount、int-mScreenWidth){
超级(上下文、项、列计数);
mViewHolderHeight=mScreenWidth/context.getResources().getInteger(R.integer.column_count);
param=新的AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_父项,
mScreenWidth/context.getResources().getInteger(R.integer.column_count));
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视窗座;
if(convertView==null){
convertView=LayoutInflater.from(getContext()).flate(R.layout.treasure\u box\u grid\u item,null);
支架=新的视图支架(convertView);
convertView.setTag(支架);
}否则{
holder=(ViewHolder)convertView.getTag();
}
持有人。建造(位置);
holder.item.setLayoutParams(参数);
返回视图;
}
公共类ViewHolder扩展了ViewHolder{
公共视图持有者(视图){
item=(LinearLayout)view.findViewById(R.id.treasure\u item);
title=(TextView)view.findViewById(R.id.item\u title);
image=(ImageView)view.findViewById(R.id.item\u img);
提醒=新建提醒视图(getContext(),图像);
}
@凌驾
公共无效生成(int pos){
司库Bean项目=(司库Bean)getItem(pos);
buildView(getContext(),this,pos);
}
}

使用
RecyclerView
而不是
ListView
,并在适配器中扩展
RecyclerView.adapter
,这将起作用。例如

public class YourAdapterName extends         
RecyclerView.Adapter<YourAdapterName.MyViewHolder> {
}
公共类YourAdapterName扩展
RecyclerView.适配器{
}

使用
RecyclerView
而不是
ListView
,并在适配器中扩展
RecyclerView.adapter
,这将起作用。例如

public class YourAdapterName extends         
RecyclerView.Adapter<YourAdapterName.MyViewHolder> {
}
公共类YourAdapterName扩展
RecyclerView.适配器{
}

但我使用的是GridView。如何改进GridView。?但我使用的是GridView。如何改进GridView。?