2013-05-08 3 views
1

listView에로드 할 100 개 이상의 이미지가 있고 int[]에 모든 resId을 저장하려고합니다. 나는 아래의 코드 여러 이미지의 자원 식별자 (resId)를 자산 또는 원시 폴더에서 int 배열로 가져옵니다.

Field[] ID_Fields = R.drawable.class.getFields(); 
     resArray = new int[ID_Fields.length]; 
     for(int i = 0; i < ID_Fields.length; i++) 
     { 
      try { 

       resArray[i] = ID_Fields[i].getInt(null); 

      } catch (IllegalArgumentException e) 
      { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IllegalAccessException e) 
      { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 

를 사용하여 drawable에서 일을 할 수 있습니다하지만 내 문제는 내가 내 listViewdrawable 폴더에있는 모든 이미지를 필요가 없다는 것입니다. 그렇다면 asset 폴더를 만들고 resId을 모두 int[]으로 만들 수 있습니까? 또는 이것에 raw 폴더를 사용할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.

+0

의 이미지의 잔유를 포함한다. 질문이 명확하지 않습니다. – stinepike

+0

제안이나 코드를 묻는 중입니까? – Pragnani

+0

만약 내가 위의 코드를 사용하고, 나는 배열에 resld 모든 이미지를 얻을 것이다 .. 실제로 내가 필요 없어, 그것은 조금 큰 프로젝트이며 drawable 다른 디자인과 배경 이미지도 포함되어 있습니다. 나는 drawable 이미지의 일부만 listview에 넣기를 원한다. 또한 drawable 안에 폴더를 생성 할 수 없습니다. 그래서 asset 폴더를 사용하려고합니다 –

답변

1

나는 대답을 얻었다.

예 할 수 있습니다. 그 resArray 후이 코드

Field[] ID_Fields = R.raw.class.getFields(); 
     resArray = new int[ID_Fields.length]; 
     for(int i = 0; i < ID_Fields.length; i++) 
     { 

      try { 
       resArray[i]= ID_Fields[i].getInt(null); 
      } catch (IllegalArgumentException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IllegalAccessException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 


     } 

와 고해상도/raw 폴더에 이미지를 복사 시도는 raw 폴더 정확히 무엇을 하시겠습니까?

0

가능하지만 좋은 방법은 아닙니다. 이 See Here

처럼 자산 폴더 이미지를 넣을 수 있지만 이렇게하면 이제 당신에게 달려있다 당신이 그것을 사용하는 방법 Issues

을 만들어 문제가있을 수 있습니다. :)