すべてのSDカード画像をグリッドビューで表示しています。デバイスの外部ストレージにあるすべての画像を表示すると同時に、カメラ画像を表示しない必要があります。これには必要なことを知っていますカメラバケットIDまたはバケット表示名のいずれかを取得します。これを行う方法がわかりません。誰でもこれを行う方法を教えてください..
質問する
1450 次
2 に答える
1
通常、カメラの画像は特定のフォルダー、DCMI フォルダーに保存されます。DCMI フォルダーにある画像を表示しないでください。SD カードで画像を検索する間、そのフォルダーをスキップします。
于 2013-03-20T12:23:36.623 に答える
1
これを試してください。これを変更する必要があるかもしれません
public static ArrayList<String> getPathOfAllImages(Activity activity) {
ArrayList<String> absolutePathOfImageList = new ArrayList<String>();
String absolutePathOfImage = null;
String nameOfFile = null;
String absolutePathOfFileWithoutFileName = null;
Uri uri;
Cursor cursor;
int column_index;
int column_displayname;
int lastIndex;
uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = { MediaColumns.DATA,
MediaColumns.DISPLAY_NAME };
cursor = activity.managedQuery(uri, projection, null, null, null);
column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
column_displayname = cursor
.getColumnIndexOrThrow(MediaColumns.DISPLAY_NAME);
while (cursor.moveToNext()) {
absolutePathOfImage = cursor.getString(column_index);
nameOfFile = cursor.getString(column_displayname);
lastIndex = absolutePathOfImage.lastIndexOf(nameOfFile);
lastIndex = lastIndex >= 0 ? lastIndex
: nameOfFile.length() - 1;
absolutePathOfFileWithoutFileName = absolutePathOfImage
.substring(0, lastIndex);
if (absolutePathOfImage != null&& !absolutePathOfImage.equals("/sdcard/DCMI/")) {
absolutePathOfImageList.add(absolutePathOfImage);
}
}
グリッド ビューに値を設定するには、absolutePathOfImageList を使用します。
于 2013-03-20T13:16:53.410 に答える