在我的Android应用中,已捕获的图像及其详细信息将存储并显示在回收者视图中。详细信息是图片的名称和说明。我将捕获的图像的详细信息以及存储路径(mCurrentpath)存储在房间数据库表中。我能够检索数据库的每一行并将其显示在recyclerview项目中。问题是-如果我尝试仅保存细节而不捕获任何图片,则该项目将显示一个空的imageview以及细节。而不是显示空白图像视图,我需要显示默认图像。 注意:如果未捕获图像,我也尝试在数据库中保存默认字符串。并在onBindViewHolder中检查了if()语句
@Override
public void onBindViewHolder(@NonNull ImageHolder imageHolder, int i) {
ImageEntry currentImageEntry = imageEntries.get(i);
String storedAddress = currentImageEntry.getImageStoredAddress();
if(storedAddress != "Address is null") {
imageHolder.imageView.setImageBitmap(BitmapFactory.decodeFile(currentImageEntry.getImageStoredAddress()));
}else {imageHolder.imageView.setImageResource(R.drawable.default_image);}
imageHolder.textViewTpye.setText(currentImageEntry.getPropertyType());
imageHolder.textViewDesc.setText(currentImageEntry.getProprtyDescription());
}
谢谢
答案 0 :(得分:0)
只需将默认图像放入XML文件并更改该图像 如果
if(storedAddress != "Address is null")
或如果未捕获任何图像,则将默认图像地址存储在数据库中。
答案 1 :(得分:0)
使用equals
映射字符串值
if (storedAddress.equals("Address is null")) {
imageHolder.imageView.setImageResource(R.drawable.default_image);
} else {
imageHolder.imageView.setImageBitmap(BitmapFactory.decodeFile(currentImageEntry.getImageStoredAddress()));
}
注意::==
测试对象引用,.equals()
测试字符串值。
例如
String a="test me";
String b="test me";
a == b //this will return false
a.equals(b) //this will return true