插入数据时无效的数据库路径错误

时间:2020-05-25 13:58:41

标签: java android firebase firebase-realtime-database

我试图在填充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);
        }
    });

}

在此代码中,应使用我们填写布局表格的“ Kode”在其中插入数据的子级。警告为“无效的Firebase数据库路径:androidx.appcompat.widget.AppCompatEditText”

1 个答案:

答案 0 :(得分:0)

您的kode变量是用户界面中的EditText视图,它不是数据库中的有效路径。您可能要使用用户输入的EditText中的值,您可以使用该值:

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

另请参阅:

相关问题