Я использую Firebase в качестве серверной системы, а также использую Recycler View для отображения данных пользователю. Но при извлечении данных из базы данных метод getValue()
возвращает null
. Я приложил мой код ниже:
public class Post {
private String desc;
private String image;
public Post()
{}
public Post(String desc,String image)
{
this.image= image;
this.desc = desc;
}
public String getDescription()
{
return desc;
}
public String getImage(){
return image;
}
}
Код для MainActivity:
public class fragment2Activity extends Fragment {
private RecyclerView recyclerView;
private RecyclerView.Adapter madapter;
private RecyclerView.LayoutManager layoutManager;
private View view;
private ArrayList<Post> postArrayList;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment2, container, false);
final DatabaseReference mref= FirebaseDatabase.getInstance().getReference().child("Post");
recyclerView = (RecyclerView)view.findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
mref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot childSnapShot : dataSnapshot.getChildren()) {
Post p = childSnapShot.getValue(Post.class);
postArrayList.add(p);
}
madapter = new MyAdapter(postArrayList);
recyclerView.setAdapter(madapter);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
return view;
}
}
Моя база данных:
logcat:
Кто-нибудь может найти решение?