Я хочу реализовать диалоговое окно с предупреждением в моем коде во время события longpress просмотра списка, чтобы я мог удалить его, только если я нажму Okay. Удаление работает как положено, но реализация диалога сделает его более приятным. Любая помощь будет оценена.
Мне нужно реализовать диалоговое окно с предупреждением для следующего процесса.
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
mDatabase.child("users").child(mUserId).child("items")
.orderByChild("title")
.equalTo((String) listView.getItemAtPosition(position))
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.hasChildren()) {
DataSnapshot firstChild = dataSnapshot.getChildren().iterator().next();
firstChild.getRef().removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return true;}
});
}
}
EDIT
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
final AlertDialog alertDialog;
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(EditActivity.this);
alertDialogBuilder.setMessage("Are you sure, You wanted to delete?");
alertDialogBuilder.setPositiveButton("yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
mDatabase.child("users").child(mUserId).child("items")
.orderByChild("title")
.equalTo((String) listView.getItemAtPosition(position))
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.hasChildren()) {
DataSnapshot firstChild = dataSnapshot.getChildren().iterator().next();
firstChild.getRef().removeValue();
alertDialog.dismiss();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});
alertDialogBuilder.setNegativeButton("No",null);
alertDialog = alertDialogBuilder.create();
alertDialog.show();
return true;}
}
);