我可以通过此代码进入我的自定义目录,该代码现在显示我目录中的图像列表,我想要的是在单击图像列表时打开这些图像。
private void getDir(String dirPath) {
myPath.setText("Location: " + dirPath);
item = new ArrayList<String>();
path = new ArrayList<String>();
File f = new File(dirPath);
File[] files = f.listFiles();
if (!dirPath.equals(root)) {
item.add(root);
path.add(root);
item.add("../");
path.add(f.getParent());
}
for (int i = 0; i < files.length; i++) {
File file = files[i];
path.add(file.getPath());
if (file.isDirectory())
item.add(file.getName() + "/");
else
item.add(file.getName());
}
ArrayAdapter<String> fileList = new ArrayAdapter<String>(this, R.layout.explorernew, item);
setListAdapter(fileList);
}
File file;
@Override
protected void onListItemClick( ListView l, View v, int position, long id) {
File imgFile = new File(root+"/20150424_173923.jpg");
// TextView stxt = (TextView) findViewById(R.id.textView2);
// stxt.setText(List.get(position));
if (imgFile.exists()) {
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.imageView);
myImage.setImageBitmap(myBitmap);
}
}
我将我的imgfile硬编码为显示图像的图像名称。我想在我的选择中动态更改图像
答案 0 :(得分:1)
position
函数中的protected void onListItemClick( ListView l, View v, int position, long id) {...}
参数显示了listView中所选元素的位置,因此您可以String name =(String) l.getItemAtPosition(position);
获取所选图像的名称,或者您可以在不使用position
参数的情况下做另一件事,并使用String name = ((TextView) view).getText();
然后,您可以轻松使用行name
File imgFile = new File(root+name);
变量