String [] 배열에 for문에서 루프 도는 String을 집어넣으려고 합니다.
원래소스는 아래의 방식으로 파일 네임을 알아내서 뷰어로 뿌려줍니다.
이렇게 하면 이상없이 잘 나옵니다.
// From sdcard
// String externalStorageDirectory = Environment.getExternalStorageDirectory().toString();
// String imagesString[] = {
// externalStorageDirectory + "/download/kakakaka/002.jpg",
// externalStorageDirectory + "/download/kakakaka/003.jpg",
// externalStorageDirectory + "/download/kakakaka/004.jpg",
// externalStorageDirectory + "/download/kakakaka/005.jpg",
// externalStorageDirectory + "/download/kakakaka/006.jpg",
// externalStorageDirectory + "/download/kakakaka/007.jpg",
// externalStorageDirectory + "/download/kakakaka/008.jpg",
// externalStorageDirectory + "/download/kakakaka/009.jpg",
//
// externalStorageDirectory + "/download/kakakaka/010.jpg" };
그런데 제가 하려고 하는 것은
아래 처럼 파일 목록을 뽑아내서 위에 처럼 노가다를 없애고 자동으로 인식해서 이미지를 보여 주려고 합니다..
근데 이놈의 String[] 때문에 미치겠네요... 크리스마스 이브에도... 배열하나 때문에 삽질의 연속이네요..
하다하다 글 남깁니다...지나가가는 의견이라도 좋으니...좋은 방법좀 알려주셔요
지금처럼 소스를 돌리면 이미지가 한장만 나옵니다.. 제 생각대로면 똑같이 9장이 나와야 되는데 왜 그런걸까요?
String externalStorageDirectory = Environment.getExternalStorageDirectory().toString();
new File(externalStorageDirectory+"/download/kakakaka/__MACOSX/").delete();
File file = new File(externalStorageDirectory+"/download/kakakaka/");
// I am using this file to check iamges on sd-card,
// but this does not search files in subdirectories.
File[] allFiles = file.listFiles();
for(int i=0; i<allFiles.length; i++) {
Log.v("File: "+i, ""+externalStorageDirectory+"/download/kakakaka/"+allFiles[i].getName().toString());
String imagesString[] = {externalStorageDirectory+"/download/kakakaka/"+allFiles[i].getName().toString()};
Log.v("test", imagesString.toString());
LocalPagerAdapter localPagerAdapter = new LocalPagerAdapter(this,imagesString);
///로그
12-24 23:33:02.332: V/File: 83(20695): /mnt/sdcard/download/kakakaka/085.jpg
12-24 23:33:02.332: V/test(20695): [Ljava.lang.String;@418cadc0
12-24 23:33:02.332: V/File: 84(20695): /mnt/sdcard/download/kakakaka/086.jpg
12-24 23:33:02.332: V/test(20695): [Ljava.lang.String;@418cb2e8
12-24 23:33:02.332: V/File: 85(20695): /mnt/sdcard/download/kakakaka/087.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cb810
12-24 23:33:02.342: V/File: 86(20695): /mnt/sdcard/download/kakakaka/088.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cbd38
12-24 23:33:02.342: V/File: 87(20695): /mnt/sdcard/download/kakakaka/089.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cc260
12-24 23:33:02.342: V/File: 88(20695): /mnt/sdcard/download/kakakaka/090.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cc788
12-24 23:33:02.342: V/File: 89(20695): /mnt/sdcard/download/kakakaka/091.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cccb0
12-24 23:33:02.342: V/File: 90(20695): /mnt/sdcard/download/kakakaka/092.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cd1d8
12-24 23:33:02.342: V/File: 91(20695): /mnt/sdcard/download/kakakaka/093.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cd700
12-24 23:33:02.342: V/File: 92(20695): /mnt/sdcard/download/kakakaka/094.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418cdc28
12-24 23:33:02.342: V/File: 93(20695): /mnt/sdcard/download/kakakaka/095.jpg
12-24 23:33:02.342: V/test(20695): [Ljava.lang.String;@418ce150
12-24 23:33:02.352: V/File: 94(20695): /mnt/sdcard/download/kakakaka/096.jpg
12-24 23:33:02.352: V/test(20695): [Ljava.lang.String;@418ce678
12-24 23:33:02.352: V/File: 95(20695): /mnt/sdcard/download/kakakaka/097.jpg
12-24 23:33:02.352: V/test(20695): [Ljava.lang.String;@418ceba0
12-24 23:33:02.352: V/File: 96(20695): /mnt/sdcard/download/kakakaka/098.jpg
12-24 23:33:02.352: V/test(20695): [Ljava.lang.String;@418cf0c8
12-24 23:33:02.352: V/File: 97(20695): /mnt/sdcard/download/kakakaka/099.jpg
12-24 23:33:02.352: V/test(20695): [Ljava.lang.String;@418cf5f0
12-24 23:33:02.352: V/File: 98(20695): /mnt/sdcard/download/kakakaka/100.jpg
12-24 23:33:02.352: V/test(20695): [Ljava.lang.String;@418cfb18
12-24 23:33:02.352: V/File: 99(20695): /mnt/sdcard/download/kakakaka/101.jpg
12-24 23:33:02.352: V/test(20695): [Ljava.lang.String;@418d0040
12-24 23:33:02.462: D/memalloc(20695): ion: Mapped buffer base:0x529fb000 size:4096000 offset:0 fd:49




for문 안에 String imagesString[] = {externalStorageDirectory+"/download/kakakaka/"+allFiles[i].getName().toString();} 이렇게 되있네요.
저런 경우 imagesString배열에 for문을 돌면서 배열에 하나씩 들어가는게 아니라 매번 초기화가 되서 배열에는 하나밖에 안들어가요
이미지 갯수가 고정이라면 배열 사이즈를 9개로 잡고 하셔도 되고,
String imagesString[] = new String[9];
for(int i=0; i<allFiles.length; i++)
{
imagesString[i] = new String();
imagesString[i] = externalStorageDirectory+"/download/kakakaka/"+allFiles[i].getName().toString();
...
}
이미지 갯수가 고정이 아니면 ArrayList같은걸 써보세요.
ArrayList imagesString = new ArrayList();
for(int i=0; i<allFiles.length; i++)
{
imagesString.add(externalStorageDirectory+"/download/kakakaka/"+allFiles[i].getName().toString());
...
}