在ListView的Adapter中,为ImageView设置一个默认的图片,以确保ImageView始终显示。如下所示:
public class MyAdapter extends BaseAdapter {
private Context context;
private ArrayList- list;
// 定义默认图片
private int defaultImage = R.drawable.default_image;
public MyAdapter(Context context, ArrayList
- list) {
this.context = context;
this.list = list;
}
public int getCount() {
return list.size();
}
public Object getItem(int position) {
return list.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
View view = LayoutInflater.from(context).inflate(R.layout.item_layout, null);
ImageView imageView = view.findViewById(R.id.image_view);
TextView textView = view.findViewById(R.id.text_view);
Item item = list.get(position);
// 如果图片路径为空,则设置默认图片
if (TextUtils.isEmpty(item.getImagePath())) {
imageView.setImageResource(defaultImage);
} else {
// 否则加载图片
Glide.with(context).load(item.getImagePath()).into(imageView);
}
textView.setText(item.getName());
return view;
}
}
在上述代码中,为了让ImageView始终显示,我们为其设置了一个默认的图片(即defaultImage)。在Adapter的getView()方法中,如果Item的图片路径为空,则将ImageView的图片设置为该默认图片;否则使用Glide加载该路径对应的图片。这样就可以保证即使ImageView没有图片,也能占据正确的空间并正常显示了。