我有一个json文件,其中包含一系列不同的类别,我想检查类别,如果匹配给定条件我希望在listview中显示,这就是我想出来的......但它确实有效,listview为空
ArrayList<HashMap<String, String>> eventsList = new ArrayList<HashMap<String, String>>();
try {
JinnerObject = Jobject.getJSONObject("data");
Jarray = JinnerObject.getJSONArray("events");
for(int i = 0; i < Jarray.length(); i++){
JeventObject = Jarray.getJSONObject(i);
String _EV_OP1 = JeventObject.getString(EV_OP1);
String _EV_OP2 = JeventObject.getString(EV_OP2);
String _EV_COEF1 = JeventObject.getString(EV_COEF1);
String _EV_COEF2 = JeventObject.getString(EV_COEF2);
String _EV_STIME = JeventObject.getString(EV_STIME);
String _EV_HOST = JeventObject.getString(EV_HOST);
String _EV_DESC = JeventObject.getString(EV_DESC);
String _EV_TIP = JeventObject.getString(EV_TIP);
String _EV_CAT = JeventObject.getString(EV_CAT);
if(_EV_CAT == C){
HashMap<String, String> Events_map = new HashMap<String, String>();
Events_map.put(EV_OP1, _EV_OP1);
Events_map.put(EV_OP2, _EV_OP2);
Events_map.put(EV_COEF1, _EV_COEF1);
Events_map.put(EV_COEF2, _EV_COEF2);
Events_map.put(EV_STIME, _EV_STIME);
Events_map.put(EV_HOST, _EV_HOST);
Events_map.put(EV_DESC, _EV_DESC);
Events_map.put(EV_TIP, _EV_TIP);
eventsList.add(Events_map);
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:3)
更改
if(_EV_CAT == C)
到
if(_EV_CAT.equalsIgnoreCase(C))
用于比较字符串始终使用equalsIgnoreCase
或equals
因为==
运算符比较两个对象引用以查看它们是否引用同一个实例