lvDestinations.setOnItemClickListener(new AdapterView.OnItemClickListener() {
//TODO add to car route on leaving screen
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
POIListAdapter adapter;
adapter = (POIListAdapter) lvDestinations.getAdapter();
JSONObject jsonObject = adapter.getItem(position); //retrieve clicked object from adapter
JSONObject newJsonObject = null;
try {
newJsonObject = new JSONObject(String.valueOf(jsonObject)); //create a copy of old json object
} catch (JSONException e) {
e.printStackTrace();
}
car.removeTextType();
try {
if(adapter.getItem(position).getBoolean("selected")){
newJsonObject.put("selected", false);
car.removeDest(jsonObject.toString());
}
else{
newJsonObject.put("selected", true);
car.addDest(jsonObject);
}
} catch (JSONException e) {
e.printStackTrace();
}
adapter.remove(jsonObject);
adapter.insert(newJsonObject, position);
}
});
Comments