2
Ich versuche, Werte ID und Name aus ListView zu entfernen, wo wir Benutzer ArrayList> DataListResult; und Benutzer ListAdapter private ListAdapter-Adapter = null; wenn ich DataListResult.clear() verwende; es ist Arbeit und es löscht alle Listenelemente, aber ich möchte nur ein Element per Klick entfernen.einen Wert aus Hashmap von onitemclicklistner in Listenansicht entfernen
ArrayList<HashMap<String, String>> DataListResult = new ArrayList<HashMap<String, String>>();
HashMap<String, String> DataList;
ListView listView;
private ArrayAdapter arrayAdapter = null;
private ListAdapter adapter = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
v = inflater.inflate(R.layout.activity_apointment__list, container, false);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
adapterView.getItemAtPosition(position);
toRemove= listView.getItemAtPosition(position);
Object item = adapter.getItem(position);
Toast.makeText(getActivity().getApplication(), value, Toast.LENGTH_SHORT).show();
//DataListResult.clear();
DataList.remove(item);
((BaseAdapter)adapter).notifyDataSetChanged();
}
});
return v;
}
@Override
protected void onPostExecute(Integer result) {
if(result == 1){
// arrayAdapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, DataListResult);
// listView.setAdapter(arrayAdapter);
adapter = new SimpleAdapter(
getActivity(),DataListResult,
R.layout.list_item, new String[] {
TAG_ID, TAG_NAME,
}
, new int[] {
R.id.list_id,R.id.list_name,
}
);
listView.setAdapter(adapter);
private void parseResult(String result) {
try{
JSONObject response = new JSONObject(result);
JSONArray posts = response.optJSONArray("appontment");
for(int i=0; i< posts.length();i++){
JSONObject post = posts.optJSONObject(i);
String id = post.optString("id");
String name = post.optString("name");
DataList = new HashMap<String, String>();
DataList.put(TAG_ID, id);
DataList.put(TAG_NAME, name);
// DataList.remove(toRemove);
DataListResult.add(DataList);
}
}catch (JSONException e){
e.printStackTrace();
}
}
, wo ich Fehler tue mir jemand bitte sagen .. Danke
Sie Sir danken es funktioniert :) Ich Datalist verwenden können .remove (Position); um Werte dynamisch zu entfernen? –
DataList ist hashmap und Sie speichern es in der Liste DataListResult – mdDroid
ja, Vielen Dank Ihr Herr für sachkundige Antwort –