如何在RecyclerView项目的ImageView中显示默认图像?

时间:2018-12-12 05:37:56

标签: android android-recyclerview android-camera

在我的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());
    }

谢谢

2 个答案:

答案 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