안드로이드 Gallery 를 위해 이미지어댑터를 만들었는데요
처음에는 일단 임시로 Drawable에 있는 이미지를 출력하는건 됬는데
SDcard에 있는 이미지를 출력하기 위해 아래와 같이 수정했습니다.
근데 에러는 없고.. Uri 에 경로는 제대로 들어 가는거 같은데 화면에 출력이 되질 않네요..
혹시 이유를 아시는분 계신가요?
파일은 sdcard에 ScreenShotTest 폴더에 저장되어있습니다.
package com.LBL.launcherhome;
import java.io.File;
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private String sdcard = Environment.getExternalStorageDirectory()
.getAbsolutePath(); // sdcard 경로
// private int[] mImageID = {
private String[] mImagePath = {
sdcard+"/ScreenShotTest/screen1.jpg",
sdcard+"/ScreenShotTest/screen2.jpg",
sdcard+"/ScreenShotTest/screen3.jpg"
// R.drawable.sample_0,
// R.drawable.sample_1,
// R.drawable.sample_2
};
public ImageAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return mImagePath.length;
// return mImageID.length;
}
@Override
public Object getItem(int position) {
return mImagePath[position];
// return mImageID[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
Uri uri = Uri.fromFile(new File(mImagePath[position]));
Log.e("na"+position, uri.toString());
imageView.setImageURI(uri);
// imageView.setImageResource(mImageID[position]);
// Log.e("na"+position, mImageID[position]+"");
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(300, 400));
return imageView;
}
}