2012-12-05 3 views
1

json을 통해 내 데이터를 가져옵니다. 해시 맵에 넣고 ListView에 나열하십시오. 잘 작동합니다!android : getResources(). getIdentifier NotFound 예외

String myArt=report_TJ_+e.getString("artID"); 

내 함께 작동하지 않습니다

는 지금은 이런 일을 할 수 있습니다. 여기 내 코드입니다 :

try{ 
    //String text = getString(R.string.report_TJ); 
    JSONArray earthquakes = json.getJSONArray("uTraf"); 
    mylist.clear(); 
    String report_TJ_btn = null; 
      for(int i=0;i<earthquakes.length();i++){       
       HashMap<String, String> map = new HashMap<String, String>();  
       JSONObject e = earthquakes.getJSONObject(i); 

       String imageString=report_TJ_btn+e.getString("artID"); 
       String myArt = getString(getResources().getIdentifier(imageString, "", getPackageName())); 

       map.put("id", String.valueOf(i)); 
       map.put("first", myArt + "Stau: " + e.getString("road") + ", " + e.getString("county")); 
       map.put("second", e.getString("timestamp") + ", " + e.getString("suburb")); 
       mylist.add(map); 
      }  
    } 

오류 : E/AndroidRuntime (641) : android.content.res.Resources $ NotFoundException :에 의한 문자열 리소스 ID 번호 0x0으로 귀하의 의견을 바탕으로

답변

2

두 번째 매개 변수로 "string"이 아니고 "strings"이 아니어야합니다.

String myArt = getString(getResources().getIdentifier(imageString, "string", getPackageName())); 
1

, 당신 이 필요합니다

String myArt = getString(getResources().getIdentifier("report_TJ_btn " + e.getString("artID"), "strings", getPackageName()));

+0

죄송합니다. 다시 같은 오류가 발생합니다. 이클립스 내가 이것을 원한다면 문자열 report_TJ_btn = null; 이 정확합니까? – sarahsdev

+0

약간 변경됨 – Rawkode

+0

좋습니다 : getString (R.string.report_TJ_btn1) 및 ​​strings.xml 다른 언어가 있습니다. artID는 숫자를 제공합니다 : report_TJ_btn + artID = report_TJ_btn1 = getString (R.string.report_TJ_btn1) 내가 원했던 것입니다. – sarahsdev

1

를 사용하여 문자열 report_TJ_btn = "";