1

別のハンドラーを使用して、ImageViewの画像リソースをresourcesフォルダーから動的に変更しています。ただし、画像が最小化される場合もあります。この問題の原因は何ですか?非常に小さいサイズに再描画されているようです。この問題の原因は何ですか?

    int drawableId = -1;
private void loadImageViewWithImageString(ImageView imgView, String image) {

    try {
        Class<drawable> res = R.drawable.class;
        Field field = res.getField(image);
        drawableId = field.getInt(null);
    }
    catch (Exception e) {
        Log.e("MyTag", "Failure to get drawable id.", e);
    }
    handler.post(new Runnable() {

        @Override
        public void run() {
            if(drawableId != -1){
                //wDisplayImgView.setImageDrawable(getResources().getDrawable(drawableId));
                wDisplayImgView.setImageResource(drawableId);

            }else{
                wDisplayImgView.setImageDrawable(getResources().getDrawable(R.drawable.default_weather_icon));

            }
            wDisplayImgView.invalidate();
            subCoreLayout.invalidate();

        }

    });

}
4

1 に答える 1

0

invalidate()UIスレッドで呼び出す必要があります。postInvalidate()代わりに試してみてください。

于 2012-06-24T14:37:16.163 に答える