【问题标题】:Unable to retrive data from firebase android studio无法从 firebase android studio 中检索数据
【发布时间】:2021-10-03 09:41:59
【问题描述】:

public class Userprofile extends Fragment {

    private FragmentUserprofileBinding binding;

    FirebaseAuth firebaseAuth;

    FirebaseDatabase db= FirebaseDatabase.getInstance();

    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        binding = FragmentUserprofileBinding.inflate(inflater, container, false);

        View root = binding.getRoot();

        View view = inflater.inflate(R.layout.fragment_userprofile, container, false);

        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);

        String x= phoneNoClass.getMobileNoOfDoctor();

        binding.logout.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                firebaseAuth.signOut();
            }
        });

        DatabaseReference roat=db.getReference("DoctorData").child("+919937336406");

        roat.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {

            @Override

            public void onComplete(@NonNull Task<DataSnapshot> task) {

                if (task.isSuccessful()){

                    Toast.makeText(getContext(), "updating....."+task.getException(), Toast.LENGTH_SHORT).show();

                    String uname=String.valueOf(task.getResult().child("name").getValue());

                    binding.UserName.setText(uname);

                }else {

                    Toast.makeText(getContext(), "unable"+task.getException(), Toast.LENGTH_SHORT).show();
                }
            }
        });

        return view;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        binding = null;
    }
}

【问题讨论】:

  • 你的 onComplete 是否被触发了?你收到 Toast 消息了吗?
  • 是的,它正在显示 toast(正在更新...),但不检索数据
  • 如果你尝试记录uname的值,你会打印出什么?
  • 是的,结果显示在日志中,但不在应用程序中
  • UserName 是正确的 TextView 吗?

标签: android firebase-realtime-database


【解决方案1】:

根据您的评论:

是的,结果显示在日志中,但未显示在应用程序中。

该问题与 Firebase 无关,而是与您使用数据绑定的方式有关。所以最简单的解决方案就是使用View的findViewById(int id)方法来引用你的UserNameTextView。

【讨论】:

    猜你喜欢
    • 2020-03-28
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多