2012-01-24 4 views
0

Я пытаюсь загрузить изображения из определенной папки в sd card.i сохраненные изображения в папку на SD-карте. теперь я хочу загружать изображения из этой папки. Чтобы сделать это, используя онлайн-уроки. но ничего не работало. Когда я пытаюсь использовать ниже код, я получил пустой экран. Что я делаю неправильно? Большое спасибо за любую помощь.Загрузить изображения из папки sd card

public class F6Activity extends softActivity 
{ 
private Cursor cursor; 
private int columnIndex; 
Button next; 


protected void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_f6); 


Gallery g = (Gallery) findViewById(R.id.gallery); 
//request only the image ID to be returned 
String[] projection = {MediaStore.Images.Media._ID}; 
//Create the cursor pointing to the SDCard 
cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
    projection, 
    MediaStore.Images.Media.DATA + " like ? ", 
    new String[] {"%ereports%"}, 
    null); 
    //Get the column index of the image ID 
    columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID); 
    g.setAdapter(new ImageAdapter(this)); 



    } 


private class ImageAdapter extends BaseAdapter { 

private Context context; 

public ImageAdapter(Context localContext) 
{ 
    context = localContext; 
} 

public int getCount() 
{ 
    return cursor.getCount(); 
} 
public Object getItem(int position) 
{ 
    return position; 
} 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
ImageView i = new ImageView(context); 
// Move cursor to current position 
cursor.moveToPosition(position); 
// Get the current value for the requested column 
int imageID = cursor.getInt(columnIndex); 
// obtain the image URI 
Uri uri = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,  
Integer.toString(imageID)); 
String url = uri.toString(); 
// Set the content of the image based on the image URI 
int originalImageId = Integer.parseInt(url.substring(url.lastIndexOf("/") + 1, 
url.length())); 
Bitmap b = MediaStore.Images.Thumbnails.getThumbnail(getContentResolver(), 
       originalImageId, MediaStore.Images.Thumbnails.MINI_KIND, null); 
i.setImageBitmap(b); 
i.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
i.setScaleType(ImageView.ScaleType.FIT_XY); 
int mGalleryItemBackground = 0; 
i.setBackgroundResource(mGalleryItemBackground); 

return i; 
} 
} 




} 
+0

почему вы вызываете метод setContentView дважды в начале OnCreate Mathod? –

+0

Спасибо за ваш ответ. Отредактировал код.i, он должен быть установленContentView (R.layout.activity_f6) ;. но все же я получил пустой экран. – TRS

+0

Этот вопрос задан и ответил 100 раз. Пожалуйста, найдите соответствующие условия, прежде чем отправлять свои вопросы. –

ответ

1

Я смущен кодом, теперь я не могу сказать проблему в вашем коде, это займет время для меня. Я предлагаю использовать код, доступный по ссылке ниже. Он работает нормально. После этого я попытаюсь найти проблему в вашем коде. Теперь проверьте ссылку ниже.

Display images from SD card

+0

OK.I'l check ваша ссылка. Спасибо. – TRS

Смежные вопросы