Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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
Android 可设置图像绘制_Android_Imageview - Fatal编程技术网

Android 可设置图像绘制

Android 可设置图像绘制,android,imageview,Android,Imageview,有人能帮忙吗。我正在生成一个随机数,根据这个随机数,我想从我的res/drawable mdpi文件夹中选择一个png文件来显示。这是我正在使用的代码: public void DisplayRandomPicture(int randomNumber) { String drawableName = "c"+ randomNumber; ImageView image= (ImageView)findViewById(R.id.imageView1);

有人能帮忙吗。我正在生成一个随机数,根据这个随机数,我想从我的res/drawable mdpi文件夹中选择一个png文件来显示。这是我正在使用的代码:

    public void DisplayRandomPicture(int randomNumber) 
    {   
    String drawableName = "c"+ randomNumber;

    ImageView image= (ImageView)findViewById(R.id.imageView1);  
    image.setImageDrawable(getResources().getDrawable(getResources().getIdentifier(drawableName, "res/drawable-mdpi", getPackageName())));

    }
res/drawable mdpi文件夹中的所有文件都以“c”开头。image.setImageDrawable语法有问题。当我运行我的应用程序时,它崩溃了

public void DisplayRandomPicture(int randomNumber) 
    {   
    String drawableName = "c"+ randomNumber;

    ImageView iw= (ImageView)findViewById(R.id.imageView1);  
    resID = getResources().getIdentifier(drawableName, "drawable",  getPackageName());
    iw.setImageResource(resID);

    }

请尝试上面的方法,并确保该图像具有确切的名称。

我使用以下方法解决了此问题:

    int id = getBaseContext().getResources().getIdentifier(drawableName, "drawable", getPackageName());

    image.setImageResource(id);

无法编辑,因为它的字符太少,但是
iw.set…
应该是
image.set…
是的,这是我在费力阅读一些代码后得出的结论。谢谢,不客气。我只是在我的项目中反复使用相同的代码,并认为现在是分享答案的最佳时机我在看到你的答案之前就把我的答案贴出来了。他们几乎一样。我现在改了,接受了你的。快乐吗?:-)