Android: проблема с настройкой изображения динамически

1

Я динамически меняю ресурс изображения в 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();

        }

    });

}
  • 0
    Это была проблема макета. Просто разобрался. Глупо с моей стороны .. В любом случае, спасибо.
Теги:

1 ответ

0

invalidate() следует вызывать в потоке пользовательского интерфейса. Попробуйте вместо postInvalidate().

  • 0
    :) это была проблема с моим макетом. Догадаться. Спасибо, в любом случае :)
  • 0
    В любом случае, вы должны использовать postInvalidate() .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню