Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

ImageView - загрузка картинки из SDCARD - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android ListView: подсветка выбранного элемента http://www.cyberforum.ru/android-dev/thread932992.html
В активити есть несколько списков со своей разметкой. Пересмотрел кучу примеров, но у самого что-то не получается оставить после нажатия подсвеченым элемент ListView. ...... protected void...
Программирование Android Локализация объявлений AdMob Здравствуйте. Хочу попробовать раскрутить свое приложение через AdMob. Объявление (баннер) работает, клики идут, но я не где не могу его найти, не в опере (браузере), не в других приложениях,... http://www.cyberforum.ru/android-dev/thread932837.html
Анимация ListView. Отрабатывает не так, как хотелось бы Программирование Android
Сделал адаптер с анимацией, но она работает так, как будто я анимировал не отдельную строку, а весь listview. public class MyAdapter extends BaseAdapter{ private ArrayList<MyObject> objects;...
Программирование Android База SQLiteDatabase
Как совместить два кода, код с базой DBHelper dbHelper; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...
Программирование Android Как правильно конвертонуть дату? http://www.cyberforum.ru/android-dev/thread932667.html
Пишу приложение, оно читает входящие/исходящие смски, но вместо понятной даты(месяц, число, время), я получаю такие строки: 1375447414712 (это сегодняшняя смска) Помогите.
Программирование Android Рисуем иконку для Notification.Builder setSmallIcon(int icon) Что для этого нужно? Можно ли зарегистрировать свой ресурс - картинку из памяти (сам рисую). setSmallIcon требует int - код картинки из ресурсов. Но видел индикатор заряда в 4х тонах по 100... подробнее

Показать сообщение отдельно
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
04.08.2013, 17:28  [ТС]
Цитата Сообщение от V0v1k Посмотреть сообщение
зачем здесь Object?

наведите курсор на ошибку, будут варианты решения, нужно объявлять pic как final
Вот переделал класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class ShowPictureInSD {
    
    public String ROOT_DIR="HomeAndroid";
    public String fileName;
    public String id;
    public String contentType;
    final ImageView pic;
    public Context activity;
    
    public ShowPictureInSD(String fileName, String contentType, String id, ImageView pic, Context activity){
        this.fileName=fileName;
        this.id=id;
        this.contentType=contentType;
        this.pic=pic;
        this.activity=activity;
        ShowPicture();
    }
 
    
    public Bitmap ShowPicture() { 
        File dir = new File(Environment.getExternalStorageDirectory() + File.separator + ROOT_DIR + File.separator + contentType + File.separator + id); 
        dir.mkdirs();
       
        final File f = new File (dir,  fileName+".png");
        Log.d("ShowPictureInSD", "Поиск картинки: "+f.getAbsolutePath());
        if (f.exists()){
            //Bitmap bm = BitmapFactory.decodeFile(f.getAbsolutePath());
            //pic.setImageBitmap(bm);
            
            
            ((Object) activity).runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Bitmap bm = BitmapFactory.decodeFile(f.getAbsolutePath());
                    pic.setImageBitmap(bm);
                  }
               });
            
            
        }else{
            Log.d("ShowPictureInSD", "Картинка ненайдена!");
            return null;
        }
        return null;
    } 
}
Теперь runOnUiThread, когда наводиш предлагает: "change cast of activity"

Если делать так: ((Object) activity).runOnUiThread(new Runnable(){... то ошибка таже остается..

Добавлено через 11 минут
Еще так переделал:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
 if (f.exists()){
            new Thread() {  
                @Override
                public void run() {
 
 
                    Bitmap bm = BitmapFactory.decodeFile(f.getAbsolutePath());
                    pic.setImageBitmap(bm);
                    
                  
                }
            }.start();
        }
Но в логах - та же ошибка... незнаю уже что делать?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru