0
나는 sdcard에서 모든 사진을로드하고 내 안드로이드 응용 프로그램의 이미지보기에 표시하려고합니다. 나는 그림을 읽고 비트 맵의 arraylist에 넣기 위해 하나의 커서를 가지고있다. 이제는 sdcard의 모든 사진을로드 할 수 있지만 이미지 뷰에 인쇄하면 표시되지 않습니다. 누군가가 그것을 어떻게하는지 안다면 저를 도우십시오.SD 카드에서 사진을로드하고 이미지보기에 표시
감사합니다. 이것은 활동 코드입니다.
public class VerFotos extends Activity{
public static ArrayList<Bitmap> imagenes;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
imagenes=new ArrayList<Bitmap>();
String[] imgColumnID = { MediaStore.Images.Thumbnails._ID };
@SuppressWarnings("deprecation")
Cursor cursor=managedQuery(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imgColumnID,
MediaStore.Images.Media.DATA + " like ? ",
new String[] { "%sdcard/%" }, null);
if(cursor.moveToFirst()){
String result=cursor.getString(0);
byte [] encodeByte=Base64.decode(result,Base64.DEFAULT);
Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
imagenes.add(bitmap);
}
String imag=getIntent().getStringExtra("position");
int index=Integer.parseInt(imag);
setContentView(R.layout.fragment_ver_fotos);
ExtendedViewPager mViewPager=(ExtendedViewPager)findViewById(R.id.image);
mViewPager.setAdapter(new TouchImageAdapter());
mViewPager.setCurrentItem(index);
}
static class TouchImageAdapter extends PagerAdapter {
@Override
public int getCount() {
return imagenes.size();
}
@Override
public View instantiateItem(ViewGroup container, int position) {
TouchImageView img=new TouchImageView(container.getContext());
img.setImageBitmap(imagenes.get(position));
container.addView(img, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
return img;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View)object);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
}
}
루프를 추가 할 것입니다. 그러나 첫 번째 결과 만 얻으면 하나의 그림을 얻을 수 있지만 아무 것도 얻지 못하고 배열의 크기는 1입니다. – temerariomalaga
무슨 뜻인지 이해가 안 되니? 결과가 나타나지 않으면 ArrayList의 크기는 어떻게됩니까? –
나는 그것이 배열에 null 값을 넣었고 이것이 1이라고 생각한다. 루프를 시도하고 다음과 같은 오류가 발생합니다 :'6 행, 1 열을 가진 CursorWindow에서 행 1, 열 1을 읽지 못했습니다 ' – temerariomalaga