【发布时间】:2018-05-24 15:02:22
【问题描述】:
我正在开发一个应用程序,该应用程序需要从 firebase 获取数据到回收器视图中,但它没有这样做。 该应用程序运行良好,但在回收站视图部分没有显示任何内容。
MainArea.java(onCreate)
protected void onCreate( Bundle savedInstanceState ) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_rating);
Email=(TextView)findViewById(R.id.Email);
Fullname=(TextView)findViewById(R.id.Name);
City=(TextView)findViewById(R.id.City);
Address=(TextView)findViewById(R.id.Address);
rating=(TextView)findViewById(R.id.Rating);
int s=getIntent().getIntExtra("position",0);
DatabaseReference ref=MainArea.FBRA.getRef(s);
ss=ref.getKey();
DatabaseReference ref2= FirebaseDatabase.getInstance().getReference().child("Users").child(ss);
ref2.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange( DataSnapshot dataSnapshot ) {
email=dataSnapshot.child("email").getValue().toString();
fullname=dataSnapshot.child("fullname").getValue().toString();
city=dataSnapshot.child("city").getValue().toString();
address=dataSnapshot.child("address").getValue().toString();
Totalrating=dataSnapshot.child("TotalRating").getValue().toString();
rating.setText(Totalrating);
Email.setText(email);
Fullname.setText(fullname);
City.setText(city);
Address.setText(address);
}
@Override
public void onCancelled( DatabaseError databaseError ) {
}
});
myRef2=FirebaseDatabase.getInstance().getReference("RatingPosts").child(ss);
Rview=(RecyclerView)findViewById(R.id.recycler);
Rview.setHasFixedSize(true);
Rview.setLayoutManager(new LinearLayoutManager(DisplayRating.this));
FirebaseRecyclerAdapter<dataget,ViewHolder2> Fbra=new FirebaseRecyclerAdapter<dataget, ViewHolder2>(
dataget.class,
R.layout.cardr2,
ViewHolder2.class,
myRef2
) {
@Override
protected void populateViewHolder( ViewHolder2 viewHolder, dataget model, int position ) {
viewHolder.setAddress(model.getAddress());
viewHolder.setPicture(model.getPicture());
viewHolder.setRating(model.getRating());
}
};
Rview.setAdapter(Fbra);
}
ViewHolder
public static class ViewHolder2 extends RecyclerView.ViewHolder
{
View mView;
Context ctx;
public ViewHolder2( View itemView ) {
super(itemView);
mView=itemView;
ctx=itemView.getContext();
}
public void setAddress( String address ) {
TextView Add=(TextView)mView.findViewById(R.id.add);
Add.setText(address);
}
public void setPicture( String picture ) {
ImageView img=(ImageView)mView.findViewById(R.id.img);
Picasso.with(ctx).load(picture).into(img);
}
public void setRating( String rating ) {
TextView rate=(TextView)mView.findViewById(R.id.ratee);
rate.setText(rating);
}
}
dataget.java
包 com.hitachiapp.hitachi.hitachiapp;
/** * 由 Mohit Gupta 于 23-05-2018 创建。 */
公共类数据获取{
String Address,Picture,Rating;
public dataget( String address, String picture, String rating ) {
Address = address;
Picture = picture;
Rating = rating;
}
public dataget() {
}
public String getAddress() {
return Address;
}
public void setAddress( String address ) {
Address = address;
}
public String getPicture() {
return Picture;
}
public void setPicture( String picture ) {
Picture = picture;
}
public String getRating() {
return Rating;
}
public void setRating( String rating ) {
Rating = rating;
}
}
火力基地结构 this is the image
【问题讨论】:
-
你试过调用notifyDataSetChanged方法吗?
-
要这样称呼
-
Firebase ui 依赖项已包含
-
实际上应用程序包含 2 个回收站视图,一个工作正常,另一个不是
标签: android firebase firebase-realtime-database android-recyclerview