J'essaie de récupérer des données de ma base de données Firebase, mais mon écran ne montre rien. Je ne vois aucune erreur donc je ne sais pas pourquoi il ne se passe rien. Quelqu'un peut-il repérer des erreurs? J'ai suivi le guide FirebaseUI avec de l'aide d'un membre de stackoverflow. Les données devraient montrer la rue et l'utilisateur sur l'écranAndroid - RecyclerView ne fonctionne pas
Fragment:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_stopandmap, container, false);
Query keyQuery = FirebaseDatabase.getInstance().getReference("/Addresses/Street 10/users");
DatabaseReference dataRef = FirebaseDatabase.getInstance().getReference("/User");
recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
FirebaseRecyclerOptions<User> options = new FirebaseRecyclerOptions.Builder<User>()
.setIndexedQuery(keyQuery, dataRef, User.class)
.build();
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<User, BetViewHolder>(options) {
@Override
public BetViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_row, parent, false);
return new BetViewHolder(view);
}
@Override
protected void onBindViewHolder(BetViewHolder holder, int position, User model) {
holder.setUserName(model.getUsername());
}
};
recyclerView.setAdapter(adapter);
return rootView;
}
public static class BetViewHolder extends RecyclerView.ViewHolder {
TextView tw;
public BetViewHolder(View itemView) {
super(itemView);
tw = (TextView) itemView.findViewById(R.id.usersTextview);
}
public void setUserName(String username) {
tw.setText("Hej" + username);
Log.e("Activity", "In Vehicle " + username);
}
}
classe User:
public class User {
private String username;
private String usertype;
public User() {
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsertype() {
return usertype;
}
public void setUsertype(String usertype) {
this.usertype = usertype;
}
}
Debug et vérifier le contenu de l'adaptateur s'il existe des données ou non – nomag
je vérifié si l'adaptateur était vide avec adapter.getItemCount et il se trouve qu'il est vide. Je ne comprends pas pourquoi il est vide – JDoe
car KeyQuery et dataRef pointent vers différents nœuds Firebase. Les deux doivent pointer vers le même nœud parent. –