2014-06-06 4 views
0

AsyncTask와 캐싱 비트 맵 을 사용하여 sdcard에서 listView의 이미지를 검색하려고하는데 다음 문제가 발생했습니다.리소스 ID가 sdcard에서 이미지를 검색하는 중

ImageView imageView = (ImageView) rowView.findViewById(R.id.img); 
int resId = context.getResources().getIdentifier(pathArray.get(position), 
"xyz", context.getPackageName()); 
loadBitmap(resId, imageView); 

이미지는 이미지 뷰에 설정하는 비트 맵으로 실제 이미지를로드 할 수있는 SD 카드에있는 경우 내가 "XYZ"

답변

0

의 장소에 배치해야하는지 알려주세요.

getResources() 옵션은 프로젝트의 res 폴더 안에있는 항목에만 적용됩니다.

+0

괜찮 내가 getResorces()가 고해상도/디렉토리 만하지만 내 구현을 loadBitmap에 전달되어야 하는지를 공공 무효 loadBitmap (INT 잔유, 이미지 뷰 같은 것을 이해 보기) { \t \t if (cancelPotentialWork (resId, view)) { \t \t \t 최종 BitmapWorkerTask 작업 = 새 BitmapWorkerTask (보기); \t \t \t view.setBackgroundResource (R.drawable.ic_launcher); \t \t \t task.execute (resId); \t \t} \t – kalimba

+0

@mrebval answer를 참조하십시오. 그는 디스크에서 이미지를로드하는 방법을 설명했습니다. 위치를 가리 키기 위해'File'을 사용해야합니다. – Budius

+0

완료 :) 도움 주셔서 감사합니다. – kalimba

1

이 코드의 sdcard에서 이미지를 얻을 :

File cacheDir = new File(android.os.Environment.getExternalStorageDirectory(),"folder_images"); 
File f = new File(cacheDir, "imageName"); 
FileInputStream stream = new FileInputStream(f); 
Bitmap bitmap = BitmapFactory.decodeStream(stream); 
stream.close(); 
관련 문제