我有一个问题。我想删除选定的ListView和引用键号(突出显示为20191,20192,...)的特定节点及其子级。here's my Database Structure
这是我的OnItemClickListener,重点关注案例2以删除ListView
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> parent, View view, final int position, long id) {
final Aduanclass aduanclass = aduanclassList.get(position);
// selectedPosition = position;
// itemSelected = true;
// final Dialog dialog = new Dialog(MainActivity.this);
// dialog.setContentView(R.layout.activity_common_detail_aduan);
// dialog.setTitle("Pilih Aksi");
// dialog.show();
// final String Selection=arrayList.get(position);
final CharSequence [] dialog ={"Lihat Detail", "Ubah", "Hapus"};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Pilihan");
builder.setItems(dialog, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case 0:
Intent intentCommondetail= new Intent(MainActivity.this,CommonDetailAduan.class);
intentCommondetail.putExtra("primekeyy", aduanclass.getPrimekey());
intentCommondetail.putExtra("kategory", aduanclass.getKategori());
intentCommondetail.putExtra("deskripsy",aduanclass.getDeskripsi());
// intentCommondetail.putExtra("kategori",Selection);
// intentCommondetail.putExtra("deskripsi",Selection);
startActivity(intentCommondetail);
break;
case 1:
Intent intentCommonedit= new Intent(MainActivity.this,CommonUpdateAduan.class);
// intentCommonedit.putExtra("primekeyy", aduanclass.getPrimekey());
intentCommonedit.putExtra("primekeyy", aduanclass.getPrimekey());
intentCommonedit.putExtra("kategory", aduanclass.getKategori());
intentCommonedit.putExtra("deskripsy",aduanclass.getDeskripsi());
// intentCommondetail.putExtra("kategori",Selection);
// intentCommondetail.putExtra("deskripsi",Selection);
startActivity(intentCommonedit);
break;
case 2:
deleteData(primkey);
}
}
});
builder.create().show();
}
});
((ArrayAdapter)listView.getAdapter()).notifyDataSetChanged();
这是我的deleteData方法
private void deleteData(final String primkey) {
DatabaseReference mDatabase1 =FirebaseDatabase.getInstance().getReference("aduan").getRef();
mDatabase1.removeValue();
我尝试运行代码,但没有删除Firebase数据库中的特定listView和特定节点,而是删除了“ aduan”的所有子级。
仅供参考,我将键号设置为在数据输入中每次添加时自动增加+1,但我不知道如何引用键号。
感谢您的帮助
我有一个问题。我想删除选定的ListView和引用键号(突出显示为20191,20192,...)的特定节点及其子级。这是我的数据库结构,这是我的...
您从未在数据库参考中使用主键。代码应该是这样的
private void deleteData(final String primkey) {
DatabaseReference mDatabase1 =FirebaseDatabase.getInstance().getReference("aduan").getRef();
mDatabase1.removeValue();