Ошибка неверного пути к базе данных при вставке данных - PullRequest
0 голосов
/ 25 мая 2020

Пытался вставить данные, которые берет потомок при заполнении edittext. Код находится ниже

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    nama=(EditText)findViewById(R.id.nama);
    alamat=(EditText)findViewById(R.id.alamat);
    KTP=(EditText)findViewById(R.id.KTP);
    KK=(EditText)findViewById(R.id.KK);
    telepon=(EditText)findViewById(R.id.telepon);
    usia=(EditText)findViewById(R.id.usia);
    kode=(EditText)findViewById(R.id.kode);
    pass=(EditText)findViewById(R.id.pass);
    daftar=(Button)findViewById(R.id.daftar);

    member=new member();
    reff=FirebaseDatabase.getInstance().getReference().child(String.valueOf(kode));

    reff.addValueEventListener(new ValueEventListener() {

        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            if(dataSnapshot.exists())
            maxid=(dataSnapshot.getChildrenCount());
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

    daftar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int age=Integer.parseInt(usia.getText().toString().trim());
            long telp=Long.parseLong(telepon.getText().toString().trim());
            long kel=Long.parseLong(KK.getText().toString().trim());
            long pen=Long.parseLong(KTP.getText().toString().trim());
            member.setNama(nama.getText().toString().trim());
            member.setAlamat(alamat.getText().toString().trim());
            member.setPass(pass.getText().toString().trim());
            member.setUsia(age);
            member.setKK(kel);
            member.setKTP(pen);
            member.setTelepon(telp);

            reff.child(String.valueOf(maxid+1)).setValue(member);
        }
    });

}

в этом коде, дочернем элементе, в который должны быть вставлены данные, используя «Код», который мы заполняем в форме макета. предупреждение было «Неверный путь к базе данных Firebase: androidx.appcompat.widget.AppCompatEditText»

1 Ответ

0 голосов
/ 25 мая 2020

Ваша переменная kode является представлением EditText в вашем пользовательском интерфейсе, что не является допустимым путем в базе данных. Вероятно, вы захотите использовать значение, введенное пользователем в EditText, что вы можете сделать с помощью:

String value = kode.getText().toString();    
reff=FirebaseDatabase.getInstance().getReference().child(value);

Также см .:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...