Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Sk8erBoi
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 39
#1

Не отображаются фотографии по папкам

11.06.2014, 11:20. Просмотров 531. Ответов 0
Метки нет (Все метки)

Добрый день. Я пытаюсь отобразить список папок (в которых есть фотографии) и при нажатии на них отобразить фотографии которые в них находятся. Я знаю что надо использовать запрос selection, но у меня не получается его реализовать.
Вот мой первый класс для отображения папок:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
public class ThumbnailAdapter extends BaseAdapter {
    
    // Context required for performing queries
    private final Context mContext;
    
    // Cursor for thumbnails
    private final Cursor cursor;
    private final int imgId;
    private final int imgData;
    private final int count;
    
    public ThumbnailAdapter(Context c) {
        this.mContext = c;
        
        // Get list of all images, sorted by last taken first
        final String[] projection = {
                MediaStore.Images.Media.BUCKET_ID,
                MediaStore.Images.Media.BUCKET_DISPLAY_NAME
        };
         String BUCKET_GROUP_BY =
                    "1) GROUP BY 1,(2";
            String BUCKET_ORDER_BY = "MAX(datetaken) DESC";
        cursor = mContext.getContentResolver().query(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                projection,
                BUCKET_GROUP_BY,
                null,
                BUCKET_ORDER_BY
                
        );
        
        // Set constants (column indices and image count)
        imgId = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_ID);
        imgData = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
        count = cursor.getCount();
        Log.d("ThumbnailAdapter", count + " images found");
    }
 
    @Override
    public int getCount() {
        return count;
    }
 
    @Override
    public Object getItem(int position) {
        return position;
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LinearLayout ll = new LinearLayout(mContext);
          
          ImageView imageView = new ImageView(mContext);
          TextView mytext = new TextView(mContext);
          cursor.moveToPosition(position);
        
          
          mytext.setText(cursor.getString(cursor.getColumnIndex(Media.BUCKET_ID)));
          
          imageView.setImageResource(R.drawable.your_folder_icon);
          ll.addView(imageView);
          ll.addView(mytext);
          
 
      
      return ll;
    }
    
    /**
     * Get the image path from the given position
     * @param position
     * @return
     */
    public String getImagePath(int position) {
        cursor.moveToPosition(position);
        return cursor.getString(imgData);
    }
 
}
А вот второй который запускается при onClick на папку
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
public class Th extends BaseAdapter {
    
    // Context required for performing queries
    private final Context mContext;
    
    // Cursor for thumbnails
    private final Cursor cursor;
    private final int imgId;
    private final int imgData;
    private final int count;
    private final int imgD;
    
    public Th(Context c) {
        this.mContext = c;
        
        // Get list of all images, sorted by last taken first
        final String[] projection = {
                MediaStore.Images.Media._ID,
                MediaStore.Images.Media.DATA,
                MediaStore.Images.Media.BUCKET_ID
                
        };
        
    
        cursor = mContext.getContentResolver().query(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                projection,
                null,
                null,
                MediaStore.Images.Media.DATE_TAKEN + " DESC"
        );
        imgId = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
        imgData = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        imgD = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_ID);
        
        count = cursor.getCount();
        Log.d("ThumbnailAdapter", count + " images found");
    
        
    }
    @Override
    public int getCount() {
        return count;
    }
    @Override
    public Object getItem(int position) {
        return position;
    }
    @Override
    public long getItemId(int position) {
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            //imageView.setLayoutParams(new GridView.LayoutParams(96, 96));
            //imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            //imageView.setPadding(8, 8, 8, 8);
        } else {
            imageView = (ImageView) convertView;
        }
        cursor.moveToPosition(position);
        final Bitmap thumbnail = MediaStore.Images.Thumbnails.getThumbnail(
                mContext.getContentResolver(),
                cursor.getInt(imgData), 
                MediaStore.Images.Thumbnails.MICRO_KIND,
                null
        );
        imageView.setImageBitmap(thumbnail);
        Log.d("ThumbnailAdapter", "render: " + cursor.getString(imgData));
        
        return imageView;
      
    
    }
 
    public String getImagePath(int position) {
        cursor.moveToPosition(position);
        return cursor.getString(imgData);
    }
    public void remove(int position) {
        remove(position);
        notifyDataSetChanged();
 
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 11:20
Ответы с готовыми решениями:

Не отображаются фотографии
Есть тестовый сайт , на его главной странице , должны при загрузке отображаться...

Не отображаются фотографии
Здравствуйте! Подскажите, кто знает? Загружаю на страницы сайта медиафайлы....

Отображаются не все фотографии из БД
Всем привет, такая супер проблема, на странице галереи много фотографий все...

В Опера, В Одноклассниках не отображаются фотографии
В Опера, В Одноклассниках не отображаются фотографии.

Продукция-товар не отображаются фотографии
Добрый день форумчане. Добавляю товар в битриксе, прикрепляю фотографию,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 11:20

У некоторых ярлыков не отображаются иконки, и пропали пути к папкам
Привет,камрады. Беда у меня и т.к. я не особо продвинутый юзер в разговорах о...

Не отображаются фотографии интернет магазин Битрикс
Доброго времени суток, уважаемые коллеги! Очень необходима помощь в таком...

Не отображаются фотографии товара при сохранении
Не отображаются фотографии товара при сохранении. При загрузке фотографии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru