2012-12-05 22 views
1

我通过json获取我的数据。把它放在一个Hashmap中并将它列在一个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

对不起,同样的错误。 日食希望我这样做 String report_TJ_btn = null; 这是正确的吗? – sarahsdev

+0

稍作修改 – Rawkode

+0

好的我有一个:getString(R.string.report_TJ_btn1)和strings.xml不同的语言。 artID给出了一个Number:report_TJ_btn + artID = report_TJ_btn1 = getString(R.string.report_TJ_btn1)这就是我想要的 – sarahsdev

1

使用字符串report_TJ_btn = “”;