после загрузки картинки изображение не обновляется - PullRequest
0 голосов
/ 17 ноября 2011

Когда я нажимаю кнопку загрузки, я предполагаю, что вы идете на камбуз, выбираете картинку и затем устанавливаете img viewview к этой картинке. Проблема в том, что после того, как я выбрал изображение в камбузе, изображение не обновляется. Однако, если я нажму кнопку загрузки во второй раз, загрузка камбуза займет секунду или две, и в это время просмотр изображений загрузит картинку, которую я ранее выбрал. Может ли кто-нибудь помочь мне, чтобы я мог получить изображение, чтобы обновить правильно

 load.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View arg0) {        
              Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
                try {

                    FileInputStream in = new FileInputStream(selectedImagePath);
                     bMap = BitmapFactory.decodeStream(in);
                     img.setImageBitmap(bMap);
                     if (in != null) {
                         in.close();
                     }
                     img.invalidate();

                } catch (Exception e) {}
            }      
 });

1 Ответ

2 голосов
/ 17 ноября 2011

Ну, это так не работает :) Вы должны переместить свой код для загрузки и установки растрового изображения в метод onActivityResult. Также очень плохая практика - ловить экземпляр Exception - попробуйте перехватить здесь только соответствующее проверенное исключение - т.е. FileNotFoundException или что-то еще - вы можете удалить свой класс try - catch и затем нажать ctrl + 1 в Eclipse, пока вы выбрали FileInputStream in = new ... row -> выберите окружение с параметром try-catch, и eclipse автоматически сгенерирует для вас соответствующее предложение catch (и здесь я имею в виду только проверенное исключение, которое нужно обработать, а не тело предложения catch :)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...