listview利用SimpleCursorAdapter显示sqlit数据库中的已转化为byte类型的图片,若数据库中哪一行数据中图片的栏目为NULL,则只显示文字
时间: 2024-03-02 15:53:39 浏览: 42
可以在SimpleCursorAdapter的bindView()方法中进行判断,如果图片栏目为NULL,则只显示文字,否则显示图片。具体实现可以参考以下代码:
```java
public void bindView(View view, Context context, Cursor cursor) {
TextView textView = view.findViewById(R.id.text_view);
ImageView imageView = view.findViewById(R.id.image_view);
// 判断图片栏目是否为NULL
byte[] imageBytes = cursor.getBlob(cursor.getColumnIndex("image"));
if (imageBytes != null) {
Bitmap bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
imageView.setImageBitmap(bitmap);
} else {
imageView.setVisibility(View.GONE);
}
String text = cursor.getString(cursor.getColumnIndex("text"));
textView.setText(text);
}
```
上述代码中,如果图片栏目不为NULL,则将byte数组转化为Bitmap,并设置给ImageView显示。如果图片栏目为NULL,则将ImageView隐藏。无论图片栏目是否为NULL,都将文本栏目的内容显示在TextView上。
阅读全文