Android:动态设置图片时出错

时间:2012-06-24 14:26:33

标签: android

我正在使用单独的处理程序从资源文件夹动态更改ImageView中的图像资源。但有时,图像最小化。什么可能导致这个问题?看起来它正在重新绘制到非常小的尺寸。什么可能导致这个问题?

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

        }

    });

}

1 个答案:

答案 0 :(得分:0)

应该在UI线程上调用

invalidate()。请尝试使用postInvalidate()