2016-04-14 10 views
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

Antwort

2

Änderung

DataList.remove(item); 

Um

DataListResult.revome(position); 
+0

Sie Sir danken es funktioniert :) Ich Datalist verwenden können .remove (Position); um Werte dynamisch zu entfernen? –

+0

DataList ist hashmap und Sie speichern es in der Liste DataListResult – mdDroid

+0

ja, Vielen Dank Ihr Herr für sachkundige Antwort –

Verwandte Themen