Я получил prpblem. Я хочу удалить выбранный ListView и определенные узлы, которые ссылаются на номера ключей (20191, 20192, ... как выделено) и их дочерние элементы. вот моя структура базы данных
вот мой 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();
Я попытался запустить код, но вместо удаления определенного listView и определенного узла в базе данных Firebase он удалил все дочерние элементы "aduan"
FYI, я установил, что номера клавиш будут автоматически увеличиваться на +1 при каждом добавлении при вводе данных, но я не знаю, как ссылаться на номера клавиш.
Спасибо за помощь