有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用setImageResource的java相对路径

我试图在我的应用程序中显示一个每次按下按钮都会改变的图像。 应该显示的图像的名称在我的对象中。我可以使用

String nameOfImage = myObhect.get(i).getImageName();

现在,我想用

iv.setImageResource(R.drawable.notruf);

使用setImageResource,我不知道如何在setImageResource中输入我的图像的名称,因为,例如

iv.setImageResource(R.drawable. + aktbild)是不可能的

我也尝试了setImageDrawable的方法,但这对我不起作用


共 (2) 个答案

  1. # 1 楼答案

    我在应用程序中使用类似的解决方案:

    Context mContext = this;  // I supposed you're in Activity
    String imgName = fragenkatalog.get(i).getBild();
    int resId = mContext.getResources().getIdentifier(imgName,
                            "drawable", mContext.getApplicationInfo().packageName);
    if(resId > 0){
        iv.setImageResource(resId);
    }
    
  2. # 2 楼答案

    我相信这段代码会对你有所帮助

    String aktbild = fragenkatalog.get(i).getBild();
    byte[] decodedString = Base64.decode(aktbild , Base64.DEFAULT);
    Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0,
    decodedString.length);
    

    之后,如果要调整该图像的大小,请使用以下代码

    int width=75;
    int height=75;
    Bitmap resizedbitmap=Bitmap.createScaledBitmap(decodedByte, width, height, true);
    

    最后将图像设置为ImageView

    Icon.setImageBitmap(resizedbitmap);`