我在我的程序中使用AutoCompleteTextView
,在这里我显示从JSON和我JSON建议得到ArrayList中值的样子:AutoCompleteTextView基于位置
{"areas":[{"area_id":"1","area_name":"Area 1"},{"area_id":"2","area_name":"Area 2"}],"success":1}
这里是AutoCompleteTextView代码与OnItemClick
一起:
textArea.setAdapter(stringArrayAdapterAreas);
textArea.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// along with name, I also want to fetch Id of that particular area
autoAreaName = (String) parent.getItemAtPosition(position);
Log.d("AreaName:", autoAreaName); // getting accurate area name
if(areaArrayList.contains(autoAreaName)) {
// how to get area id using area name
}
}
});
守则取可Areas
,从web服务:
if (success == 1) {
JSONArray jsonArray = response.getJSONArray("areas");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Area area = new Area();
area.setId(jsonObject.getInt("area_id"));
area.setName(jsonObject.getString("area_name"));
// adding area to areas array
stringArrayListAreas.add(jsonObject.getString("area_name"));
areaArrayList.add(area);
} // for loop ends
} // if ends
什么是从JSON获得两个值(区域ID和名称)的最好方法?
修订
public String toString(){
return id+":"+name;
}
活动
textArea.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Area area = new Area();
Log.d("areaData:", area.toString());
}
});
滞后说
D/areaData:: 0:null
是的。我知道我犯了一些错误,这个问题确实值得消极评分...但是我仍然很开心,因为我尝试了我所得到的,现在我正在寻找建议/指导方针 – Oreo