2016-08-06 11 views
0
lstv = (ListView) findViewById(R.id.lista); 
lstv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int posicion, long id) { 
       removeItemFromList(posicion); 
      } 
     }); 
    } 


    protected void removeItemFromList(final int position) { 
     final int deletePosition = position; 
     AlertDialog.Builder alert = new AlertDialog.Builder(
       Apple.this); 
     alert.setTitle("Delete"); 
     alert.setMessage("¿Do you want delete?"); 
     alert.setPositiveButton("Si", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
Help here please...!! 
      } 
     }); 


     alert.setNegativeButton("No", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // TODO Auto-generated method stub 
       dialog.dismiss(); 
      } 
     }); 
     alert.show(); 
+0

Welche Datensatz, den Sie mit Ihrem Adapter Ihres Listview, Array oder Arraylist füllen ?? –

+0

Ich benutze Array-Liste, aber ich bin mir nicht sicher:/ –

+0

Von welchem ​​Ding bist du dir nicht sicher? –

Antwort

0

Siehe this

Ändern arrayList

und dann

arrayList.remove([INDEX]); 
arrayAdapter.notifyDataSetChanged(); 

nun erforderlich, wenn wieder gesetzt adapter zum ListView

+0

Ich habe ArrayList itemList; ArrayAdapter Adapter; wie globale Variablen –

0

Sie müssen Pass auch die Arraylist von Element zu der Funktion und nachdem Sie entfernt, müssen Sie die Funktion notifyDataSetChanged(); diese Funktion neu erstellen die Listview ausführen. so:

AlertDialog.Builder alertDialog = new AlertDialog.Builder(AlertDialogActivity.this); 

    alertDialog.setTitle("title..."); 
    alertDialog.setMessage("Are you sure you want delete this?"); 
    alertDialog.setIcon(R.drawable.delete); 

    alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog,int which) { 
        mArrayList.remove(position); 
        mArrayAdapter.notifyDataSetChanged(); 


     Toast.makeText(getApplicationContext(), "You clicked on YES", Toast.LENGTH_SHORT).show(); 
     } 
    }); 


    alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 

     Toast.makeText(getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show(); 
     dialog.cancel(); 
     } 
    }); 

    // Showing Alert Message 
    alertDialog.show(); 
0

Fügen Sie diesen Code in Ihre Alert.Dialog Methoden

alert.setPositiveButton("Si", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 

         itemList.remove(favTransPosition); 
         adapter.notifyDataSetChanged();       

         adapter = new ArrayAdapter<String>(, , , itemList); // Fill remaining params as you have created earlier 
         lstv.setAdapter(adapter);      
        } 
       }); 
+0

Ist Ihr Problem gelöst ?? –

+0

Nicht jet, ich habe Zweifel im Adapter = neuer ArrayAdapter (,,, itemList); und ich bekomme einen Fehler in adapter.notifyDataSetChanged(); –

+0

können Sie "adapter = new ArrayAdapter (,,, itemList)" mit Ihren ersetzen, die Sie oben im Code definiert haben. Welcher Fehler Sie bekommen in adapter.notifyDataSetChanged() –

Verwandte Themen