繁体   English   中英

从 firebase 读取数据并设置 textview 的值

[英]read data from firebase and set the value of textview

我遇到了一个问题,比如用户输入了注册号并验证并从中读取所有数据并将值设置为文本视图在此处输入图像描述

如果用户输入注册 66,然后验证注册并从 66 读取所有数据并将文本视图的值设置为主题的标记。如果我想解决上述问题,我需要做什么?

我试过了:

reff= FirebaseDatabase.getInstance().getReference().child("Marks");
reff.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        String mm=dataSnapshot.child("mcad").getValue().toString();
        String jm=dataSnapshot.child("java").getValue().toString();
        String nm=dataSnapshot.child("nma").getValue().toString();

        txtmcadmarks.setText(nm);
    }

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

    }
});

首先,您的数据库引用会返回一个数据列表,因此您需要将数据作为列表接收。

其次,如果您想根据enrollment过滤您的数据库,请在您的数据库参考中添加一个查询。

    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
    Query query = databaseReference.child("Marks").orderByChild("enrollment").equalTo(66);

    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot data: dataSnapshot.getChildren()){
                String mm=data.child("mcad").getValue().toString();
                String jm=data.child("java").getValue().toString();
                String nm=data.child("nma").getValue().toString();

                txtmcadmarks.setText(nm);
            }
        }

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

        }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM