まずリストを表示する部分はここにある内容で事足りると思われます。
http://thr3a.hatenablog.com/entry/20130902/1378107379
Java
1public class SecondActivity extends Activity {
2
3 private List<String> imageList = new ArrayList<String>();
4 private ListView lv;
5 private File[] files;
6
7 @Override
8 protected void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.activity_main);
11
12 String sdPath = Environment.getExternalStorageDirectory().getPath();
13 files = new File(sdPath).listFiles();
14 if(files != null){
15 for(int i = 0; i < files.length; i++){
16 imageList.add(files[i].getName());
17 }
18
19 lv = (ListView) findViewById(R.id.imagelist);
20 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, imageList);
21 lv.setAdapter(adapter);
22
23 lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
24 @Override
25 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
26 ListView listView = (ListView) parent;
27 String item = (String) listView.getItemAtPosition(position);
28 showItem(item);
29 }
30 });
31 }
32 }
33 public void showItem(String str){
34 Toast.makeText(this, "ファイル名:" + str, Toast.LENGTH_SHORT).show();
35 }
36}
微細な変更加えましたがこんな感じだとおもいます。
ListViewではなくてGridViewを使う方法もありますが、ひとまずListViewということなので、
上記URLを参考にすればいけると思います。
次に表示する部分ですが
ThirdActivity内でImgViewを作り、この形式で渡してあげれば表示まではできるはずです。
上のコード文の
showItemの中にIntentとBundleで巧い具合にThirdActivityに渡してあげてください。
1行目のファイルURLに利用する為のSecondActivityで取得しているFilePathを渡せばいいはずです。
Java
1File imgFile = new File("/sdcard/Images/test_image.jpg");
2
3if(imgFile.exists()){
4
5 Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
6
7 ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
8
9 myImage.setImageBitmap(myBitmap);
10
11}
上記は下記URLからの転載です。
http://dev.classmethod.jp/smartphone/basic-android-component-04-gridview/
ひとまずこのような回答となります。
ListViewの制御のAdapterであったりイメージリソースのメモリ管理等課題もありますが、
こんな雰囲気で動く感じにはなるのではないかと思います。(コードに関しては未検証です。