私はカスタムディレクトリにサムネイル画像を表示しているギャラリーを持っています。ギャラリーは正常に表示されますが、サムネイルをクリックして完全な画像を開くことはできません。私の[非機能]リスナーがここAndroid:特定のディレクトリから画像を読み込む
try {
if (LoadImageFiles() == true) {
GridView imgGallery = (GridView) findViewById(R.id.gallery);
final ImageAdapter ia = new ImageAdapter(PersonMedia.this);
imgGallery.setAdapter(ia);
// Set up a click listener
imgGallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
String imgPath = paths.get(position);
Intent intent = new Intent(getApplicationContext(), ViewImage.class);
intent.putExtra("filename", imgPath);
startActivity(intent);
}
});
}
} catch (Exception ex) {
Log.e("PersonMedia.LoadPictures", ex.getMessage());
}
を下回っている]をクリックし、ギャラリーが
//Declare a module level hashtable
private Hashtable<Integer, String> paths;
private boolean LoadImageFiles() {
try{
mySDCardImages = new Vector<ImageView>();
paths = new Hashtable<Integer, String>();
fileCount = 0;
sdDir = new File(imageDirectory);
sdDir.mkdir();
if (sdDir.listFiles() != null)
{
File[] sdDirFiles = sdDir.listFiles();
if (sdDirFiles.length > 0)
{
for (File singleFile : sdDirFiles)
{
Bitmap bmap = decodeFile(singleFile);
BitmapDrawable pic = new BitmapDrawable(bmap);
ImageView myImageView = new ImageView(PersonMedia.this);
myImageView.setImageDrawable(pic);
myImageView.setId(mediaCount);
paths.put(fileCount, singleFile.getAbsolutePath());
mySDCardImages.add(myImageView);
mediaCount++;
fileCount ++;
}
}
}
}
catch(Exception ex){ Log.e("LoadImageFiles", ex.getMessage()); }
return (fileCount > 0);
}
は、高速応答をいただき、ありがとうございます。私の脳はまだURIの周りを包んでいるわけではありません。私がwithAppendPathに渡しているのは、実際のイメージが格納されているディレクトリです(それぞれの人は独自のイメージディレクトリを持っています)。私はファイル名がカーソルによって返されると思った。 – Sirentec
私が受け取るエラーは:IllegalStateException:不明なURL:コンテンツ://メディア/外部/画像/メディア/ CaseManager/3 – Sirentec
ケース3の画像の名前は何ですか? – styler1972