Я пытаюсь отредактировать значение "shopB" в моей базе данных.Я делаю это внутри держателя вида, используя диалоговое окно с текстовым полем редактирования и кнопкой подтверждения.Когда пользователь нажимает на конкретную транзакцию, ему предоставляется диалоговое окно, в котором он вводит значение для shopB и затем нажимает «Утвердить».
Я изо всех сил пытаюсь сделать это, так как не могу получить доступ к этому значению из-за уникальностисгенерированный ключ, который имеет firebase.У меня много сообщений с похожими проблемами, но поскольку я делаю это внутри держателя представления, я не вижу, как я могу использовать DataSnapshot.Любая помощь будет принята с благодарностью, поскольку я очень теряюсь.
Структура базы данных:
viewHolder.setItemClickListener(new ItemClickListener() {
@Override
public void onClick(android.view.View view, int position, boolean isLongClick) {
Toast.makeText(Request.this, "Receiving: " + shopA, Toast.LENGTH_SHORT).show();
ThisDialog = new Dialog(Request.this);
ThisDialog.setContentView(R.layout.dialog_template);
final EditText Write = (EditText) ThisDialog.findViewById((R.id.write));
Button Approve = (Button) ThisDialog.findViewById(R.id.approve);
Write.setEnabled(true);
Approve.setEnabled(true);
Approve.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String newShopB = Write.getText().toString().replace(".", " ");
transaction.child("key").child("shopB").setValue(newShopB);
Toast.makeText(Request.this, "CustB Approval", Toast.LENGTH_SHORT).show();
ThisDialog.cancel();
}
});
ThisDialog.show();
}
});
Это был бы мой код, но, очевидно, где я имею"action.child ("ключ") "не находит ключ.
О, и транзакция определена ранее в моем коде как
database = FirebaseDatabase.getInstance();
start = database.getReference("Transaction");
transaction = start.child(passedEmail);