Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android PopulateViewHolder运行一次_Android_Firebase_Firebase Realtime Database_Firebaseui - Fatal编程技术网

Android PopulateViewHolder运行一次

Android PopulateViewHolder运行一次,android,firebase,firebase-realtime-database,firebaseui,Android,Firebase,Firebase Realtime Database,Firebaseui,您好,我正在尝试使用FireBaseRecyclerAdapter,但只运行populateViewHolder me 1次,而且数据库FireBase有多个元素。我已向FireBaseRecyclerAdapter添加了AdapterDataObserver和onItemRangeChanged方法(如果运行次数与数据库中的项目相同,但在populateView中仍同时运行) 我把我的代码: FireBase数据库: 代码FirebaseRecyclerAdapter: public clas

您好,我正在尝试使用FireBaseRecyclerAdapter,但只运行populateViewHolder me 1次,而且数据库FireBase有多个元素。我已向FireBaseRecyclerAdapter添加了AdapterDataObserver和onItemRangeChanged方法(如果运行次数与数据库中的项目相同,但在populateView中仍同时运行)

我把我的代码:

FireBase数据库:

代码FirebaseRecyclerAdapter:

public class MyFireBaseAdapterRecycleView extends FirebaseRecyclerAdapter<ModeloDatos,MyFireBaseAdapterRecycleView.MyFireViewHolder> {

public MyFireBaseAdapterRecycleView(Class<ModeloDatos> modelClass, int modelLayout, Class<MyFireViewHolder> viewHolderClass, DatabaseReference ref) {
    super(modelClass, modelLayout, viewHolderClass, ref);
}

@Override
protected void populateViewHolder(MyFireViewHolder viewHolder, ModeloDatos modelo, int position) {
    viewHolder.bindDatos(modelo);
}

/** Clase ViewHolder interna */
public static class MyFireViewHolder extends RecyclerView.ViewHolder {
    private TextView uidUsuario;
    private TextView uidImagen;
    public MyFireViewHolder(View itemView) {
        super(itemView);
        uidUsuario = (TextView)itemView.findViewById(R.id.tvIdUsuario);
        uidImagen = (TextView)itemView.findViewById(R.id.tvIdImagen);
    }

    public void bindDatos(ModeloDatos datos){
        uidUsuario.setText(datos.getUidUser());
        uidImagen.setText(datos.getUidImagen());
    }
}
代码数据模型:

public class ModeloDatos {
  private String uidUser;
  private String uidImagen;

  public ModeloDatos() {
  }

  public String getUidUser() {
    return uidUser;
  }

  public void setUidUser(String uidUser) {
    this.uidUser = uidUser;
  }

  public String getUidImagen() {
    return uidImagen;
  }

  public void setUidImagen(String uidImagen) {
    this.uidImagen= uidImagen;
  }
}
和来自Activty的代码

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_recycle);
adaptador = new MyFireBaseAdapterRecycleView(ModeloDatos.class, R.layout.fila_fire_recycle,
        MyFireBaseAdapterRecycleView.MyFireViewHolder.class, FirebaseDatabase.getInstance().getReference().child("Imagenes"));
recyclerView = (RecyclerView)findViewById(R.id.rvSGOliver);
recyclerView.setHasFixedSize(true);
observer = new AdapterFireDataObserver();
adaptador.registerAdapterDataObserver(observer);
recyclerView.setAdapter(adaptador);
recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_recycle);
adaptador = new MyFireBaseAdapterRecycleView(ModeloDatos.class, R.layout.fila_fire_recycle,
        MyFireBaseAdapterRecycleView.MyFireViewHolder.class, FirebaseDatabase.getInstance().getReference().child("Imagenes"));
recyclerView = (RecyclerView)findViewById(R.id.rvSGOliver);
recyclerView.setHasFixedSize(true);
observer = new AdapterFireDataObserver();
adaptador.registerAdapterDataObserver(observer);
recyclerView.setAdapter(adaptador);
recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));