Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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 将位图设置为ImageView时,我的ListView不平滑_Android - Fatal编程技术网

Android 将位图设置为ImageView时,我的ListView不平滑

Android 将位图设置为ImageView时,我的ListView不平滑,android,Android,我将适配器与ListView一起使用,这是getView @Override public View getView(int position, View convertView, ViewGroup parent){ ItemViewHolder viewHolder; if(convertView == null){ convertView = (RelativeLayout)inflater.inflate(resource,parent, false);

我将适配器与
ListView
一起使用,这是
getView

@Override
public View getView(int position, View convertView, ViewGroup parent){
    ItemViewHolder viewHolder;
    if(convertView == null){
        convertView = (RelativeLayout)inflater.inflate(resource,parent, false);
        viewHolder = new ItemViewHolder();
        viewHolder.itemTextName = (TextView)convertView.findViewById(R.id.item_name);
        viewHolder.itemTextExpDate = (TextView)convertView.findViewById(R.id.item_exp_date);
        viewHolder.itemImage = (ImageView)convertView.findViewById(R.id.item_image);

    }
    else{

        viewHolder = (ItemViewHolder)convertView.getTag();
    }

    Item item = listItem.get(position);
    if(listItem != null){
        viewHolder.itemTextName.setText(item.getName());
        viewHolder.itemTextExpDate.setText(""+item.getDaysleft());
        viewHolder.itemImage.setImageBitmap(item.getImage());       
    }
    return convertView;
}

static class  ItemViewHolder  {
    View baseView;
    TextView itemTextName;
    TextView itemTextExpDate;
    ImageView itemImage;


}
当我将
Bitmap
设置为
ImageView
时,
ListView
不平滑


我是否在
getView
中实现了正确的代码

看看这段简单的代码如何使用simple,您只需将它外部化即可

在开始时使用Integer.toString或其他非整数

viewHolder.itemTextExpDate.setText(""+item.getDaysleft());
使用setImage时。。。getView将被多次调用

为什么要检查它是否为空,并且比使用它快1行?没道理

if(listItem != null){
        viewHolder.itemTextName.setText(item.getName());
        viewHolder.itemTextExpDate.setText(""+item.getDaysleft());
        viewHolder.itemImage.setImageBitmap(item.getImage());       
    }
最重要的是你没有设置holder这个代码不会崩溃

看看主题:


尝试在if块中添加:
convertView.setTag(viewHolder)
。另外,使用类似的方法在列表视图中加载图像