我在我的程序中使用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