BUCKET_LIST_NAME을 (를) 사용하여 모든 폴더와 폴더 이름을 표시하는 클래스 어댑터가 있습니다. 그러나 폴더는 같은 이름 = 사진을 가지고 있습니다. 다른 이름을 얻는 방법, 나는 각 폴더의 진짜 이름을 얻는 방법을 의미한다 ??? 감사.android : 폴더 이름을 얻는 방법
public class ThumbnailAdapter extends BaseAdapter {
// Context required for performing queries
private final Context mContext;
// Cursor for thumbnails
private final Cursor cursor;
private final int count;
String bucket;
String id;
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
);
if (cursor.moveToFirst()) {
int bucketColumn = cursor.getColumnIndex(
MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
int idColumn = cursor.getColumnIndex(
MediaStore.Images.Media.BUCKET_ID);
do {
// Get the field values
bucket = cursor.getString(bucketColumn);
id = cursor.getString(idColumn);
} while (cursor.moveToNext());
}
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);
mytext.setText(bucket);
imageView.setImageResource(R.drawable.your_folder_icon);
ll.addView(imageView);
ll.addView(mytext);
return ll;
}
당신이 당신의 문제를 자세히 설명해 할 수 있습니까? – Andrain
폴더 (이미지 포함) + 폴더 이름을 표시하고 싶습니다. BUCKET_LIST_NAME을 (를) 사용하여 폴더의 이름을 가져 왔지만 각 폴더에는 동일한 이름이 표시됩니다. 각 폴더의 이름은 "사진"이지만 다른 이름이어야합니다. http://postimg.org/image/jhq77ct7h/ – Paltroth
화면을 보시고 화면을 보여 주시겠습니까? – Andrain