首页 > 解决方案 > 从android中的firebase检索数据(微调器)

问题描述

数据库

在此处输入图像描述

我已经在数据库中检索到名称并将其存储在微调器中。我想问的是如何在微调器中选择名称后检索“名称”的“数字”,然后单击按钮后该数字将如何显示在文本视图中?这是我的代码,它不起作用。

private void getNumber(){
mDatabaseRef.child("Drivers' Info").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                String name = postSnapshot.child("name").getValue(String.class);
                if (name.equals(sp)) {
                    String j = (String) postSnapshot.child("number").getValue();
                    display_number.setTextSize(26);
                    display_number.setText(j);

                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });


}

我的布局

在此处输入图像描述

请帮帮我!提前致谢!

标签: androidfirebasefirebase-realtime-database

解决方案


DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("SmartDab").child("User");

databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
       @Override
       public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
           List<String > are = new ArrayList<>();

        for (DataSnapshot ds : dataSnapshot.getChildren()) {
            String userType = ds.child("status").getValue().toString();
            switch (userType) {
                case "Teacher":

                    String Name = ds.child("fullname").getValue().toString();
                    are.add(Name);

                    break;

            }
        }
           ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>
                   (giftclass.this, android.R.layout.simple_spinner_item,
                   are);
           areasAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
           spin.setAdapter(areasAdapter);

           spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
               @Override
               public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                   String selectedItem = spin.getSelectedItem().toString();

                   Toast.makeText(giftclass.this, "You Select Prof: "+selectedItem, Toast.LENGTH_SHORT).show();



               }

               @Override
               public void onNothingSelected(AdapterView<?> parent) {

               }
           });

       }

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

       }
   });

推荐阅读