2

誰かがこれを手伝ってくれませんか。私は乱数を生成しており、この乱数に基づいて、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 構文に問題があります。アプリを実行するとクラッシュします。

4

2 に答える 2

5
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);

    }

上記を試して、画像が正確な名前で存在することを確認してください。

于 2012-07-17T00:04:25.107 に答える
2

以下を使用してこの問題を解決しました。

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

    image.setImageResource(id);
于 2012-07-17T00:08:38.540 に答える