【发布时间】:2018-12-12 05:37:55
【问题描述】:
在我的 Android 应用程序中,捕获的图像及其详细信息存储并显示在回收站视图中。详细信息是图片的名称和描述。我将详细信息与捕获的图像的存储路径(mCurrentpath)一起存储在房间数据库表中。我能够检索数据库的每一行并将其显示在 recyclerview 项目中。问题是 - 如果我尝试只保存细节而不捕获任何图片,该项目会显示一个空的图像视图以及细节。我需要显示默认图像,而不是显示空图像视图。请帮助 注意:如果未捕获图像,我还尝试在数据库中保存默认字符串。并在 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());
}
谢谢
【问题讨论】:
-
"Address is null" 是你在没有图片路径的情况下使用的文本吗?我的意思是你检查是否有图像?
-
不能直接在xml文件中设置默认图片,地址不为空就改吗?
-
如果没有图像被捕获,“地址为空”作为图像地址存储在数据库中。我再次检查 bindViewholder
-
OnBindViewHolder 中的 if - else 语句没有像我预期的那样工作。If {} 显示了所需的结果,但 else 部分没有显示默认图像,而是图像视图为空
标签: android android-recyclerview android-camera