0

このコードは Android のすべてのバージョンで正常に動作しますが、Android 4.1 では動作しません。

//エミュレーターで実行します。

フォルダに画像img_1.pngが存在します/res/drawable/

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

LinearLayout llMain = new LinearLayout(this);
LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
llMain.setLayoutParams(lp);

ImageView iv = new ImageView(this);
int resid = getResources().getIdentifier("img_1", "drawable", getPackageName());        
Drawable imageDrw = getResources().getDrawable(resid);
iv.setImageDrawable(imageDrw);                      

    llMain.addView(iv); 

setContentView(llMain);
}

なんで?

4

2 に答える 2

0

以下のコードは4.1で正常に動作しています

relative.setBackgroundResource(getResources().getIdentifier(
            "image", "drawable", "com.package.application"));

だからあなたは設定することができます

iv.setImageResource(getResources().getIdentifier(
                "image", "drawable", "com.package.application"))
于 2012-07-31T10:01:39.140 に答える
0

同じ問題があり、画像を に移動して解決しましたdrawable-xhdpi

Android 4.1 で小さい dpi から画像サイズを転送する際に問題が発生する可能性があります。

于 2012-09-11T09:12:29.153 に答える