1

我通过 json 获取我的数据。将其放入 Hashmap 并在 ListView 中列出。这很好用!

现在我想要这样的东西:

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

4

3 回答 3

2

您必须设置"string"而不是"strings"作为第二个参数。

String myArt = getString(getResources().getIdentifier(imageString, "string", getPackageName()));
于 2012-12-05T14:54:17.697 回答
1

根据您的评论,您需要:

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

于 2012-12-05T13:35:07.673 回答
1

使用字符串 report_TJ_btn = "";

于 2012-12-05T13:45:44.230 回答