我遵循了一个关于如何在firebase中更新项目的教程,但当我尝试时,它只添加了一个具有新编辑名称的新项目。它没有删除我要更新的那个。
以下是我的alertdialog代码(当我长时间单击listview中的某个项目时打开):
private void updateDialog(final String verktøynavn, final String verktøynr, final String verktøytype, final String verktøystatusibil, final String utlånttil, final String verktøystatusutlant) {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.endreslette_dialog, null);
dialogBuilder.setView(dialogView);
final TextView tvverktøynavn = (TextView) dialogView.findViewById(R.id.tvverktøynavn);
final EditText etverktøynavn = (EditText) dialogView.findViewById(R.id.etverktøynavn);
final EditText etverktøynr = (EditText) dialogView.findViewById(R.id.etverktøynr);
final Spinner spverktøytype = (Spinner) dialogView.findViewById(R.id.spverktøytype);
final ImageView ivoppdater = (ImageView) dialogView.findViewById(R.id.ivoppdater);
final ImageView ivslettverktøy = (ImageView) dialogView.findViewById(R.id.ivslettverktøy);
dialogBuilder.setTitle(verktøynavn);
final AlertDialog alertDialog = dialogBuilder.create();
alertDialog.show();
ivoppdater.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String navn = etverktøynavn.getText().toString().trim();
String nr = etverktøynr.getText().toString().trim();
String type = spverktøytype.getSelectedItem().toString();
if(TextUtils.isEmpty(verktøynavn)){
etverktøynavn.setError("Navn mangler");
return;
}
updateverktoy(navn, nr, type, verktøystatusibil, verktøystatusutlant, utlånttil);
}
});
}
private boolean updateverktoy(String id, String navn, String nr, String type, String statusibil, String statusutlant) {
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Verktøy").child(id);
Verktoy verktoy = new Verktoy(id, navn, nr, type, statusibil, statusutlant);
databaseReference.setValue(verktoy);
Toast.makeText(this, "Verktøy endret", Toast.LENGTH_LONG).show();
return true;