Показать выбранные изображения из галереи при определенных условиях - PullRequest
1 голос
/ 21 августа 2011

Мое требование - прочитать входные данные из записи даты для поиска изображений в определенном диапазоне дат.
До сих пор я только что создал представление галереи для получения всех изображений из папки изображений.как указано.

Как создать условия перед отображением миниатюр папки изображений только для тех изображений, которые удовлетворяют условию?

public void image_search(String st)
{
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent,
    "Select Picture"), SELECT_PICTURE);
}

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        if (requestCode == SELECT_PICTURE) {
            Uri selectedImageUri = data.getData();

            //OI FILE Manager
            filemanagerstring = selectedImageUri.getPath();

            //MEDIA GALLERY
            selectedImagePath = getPath(selectedImageUri);

            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.parse("file://" + selectedImagePath), "image/*");
            startActivity(intent);
        }
    }
}

//UPDATED!
public String getPath(Uri uri) {
    String selectedImagePath;
    //1:MEDIA GALLERY --- query from MediaStore.Images.Media.DATA
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    if(cursor != null){
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        selectedImagePath = cursor.getString(column_index);
    }else{
        selectedImagePath = null;
    }

    if(selectedImagePath == null){
        //2:OI FILE Manager --- call method: uri.getPath()
        selectedImagePath = uri.getPath();
    }
    return selectedImagePath;
}

1 Ответ

0 голосов
/ 21 августа 2011

Если вы имеете в виду условие filetype, то вы можете просто установить нужный тип файла.
Like intent.setType("image/png"); для получения только PNG изображений.

Edit:
Вы должны реализовать интерфейс FileFilter, чтобы получить список файлов, удовлетворяющих вашим условиям. Вы можете создавать thumnails из этого списка.

File imagesDir = // the File obj of directory containing image files.  
File[] imagelist = imagesDir.listFiles( new FileFilter {

    @override  
    public boolean accept(File file)  
    {  
    // return true if this file meets ur conditions(file.length and file.lastmodified())
    }  

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