Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android Studio中使用变量setImageResource设置图像_Java_Android_Image_Android Studio_Imageview - Fatal编程技术网

Java 在Android Studio中使用变量setImageResource设置图像

Java 在Android Studio中使用变量setImageResource设置图像,java,android,image,android-studio,imageview,Java,Android,Image,Android Studio,Imageview,我试图通过一个变量在ImageView中设置图像(项是变量名,我将设置为小写)。 但是,它不起作用,resID将返回0 这是我的密码: ImageView iv = (ImageView)v.findViewById(R.id.imgView); if (item != null) { Log.i("item: ", item.toLowerCase()); int resID = getResources().getIdentifier(it

我试图通过一个变量在ImageView中设置图像(项是变量名,我将设置为小写)。 但是,它不起作用,resID将返回0

这是我的密码:

    ImageView iv = (ImageView)v.findViewById(R.id.imgView);

    if (item != null) {
        Log.i("item: ", item.toLowerCase());

        int resID = getResources().getIdentifier(item.toLowerCase(), "drawable", "package.name");

        Log.i("resid: ", String.valueOf(resID)); //will return 0 - im guessing this is where the problem is

        iv.setImageResource(resID);
    }
我将此作为指导,但其他解决方案都不适用于我,事实上它们都给了我相同的结果(返回0)。 如果需要的话,我可以提供更多的代码(只是不想太夸张)。 提前谢谢

getIdentifier()如果未找到此类资源,则返回0。(0不是有效的资源ID。)

您应该使用
context
对象的
getPackageName()
方法,该方法始终返回正确的包名

如果您将显示您的文件夹结构和文件名,我可以帮助您修复它


顺便说一句,如果您可以直接从资源中获取drawable,那么只需使用
R.drawable.resName

“package.name”
是错误的。使用
getPackageName()
。一example@Blackbelt的确啊。。非常感谢。它起作用了,我对自己没有弄明白这一点感到非常生气。非常感谢你!是的,我知道资源,但不幸的是,它不是此应用程序的选项:)