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();
Antwort
Siehe this
Ändern arrayList
und dann
arrayList.remove([INDEX]);
arrayAdapter.notifyDataSetChanged();
nun erforderlich, wenn wieder gesetzt adapter
zum ListView
Ich habe ArrayList
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();
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);
}
});
Ist Ihr Problem gelöst ?? –
Nicht jet, ich habe Zweifel im Adapter = neuer ArrayAdapter
können Sie "adapter = new ArrayAdapter
Welche Datensatz, den Sie mit Ihrem Adapter Ihres Listview, Array oder Arraylist füllen ?? –
Ich benutze Array-Liste, aber ich bin mir nicht sicher:/ –
Von welchem Ding bist du dir nicht sicher? –