Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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 Firebase数据到RecyclerView仅显示一项_Android_Firebase_Firebase Realtime Database_Android Recyclerview_Recyclerview Layout - Fatal编程技术网

Android Firebase数据到RecyclerView仅显示一项

Android Firebase数据到RecyclerView仅显示一项,android,firebase,firebase-realtime-database,android-recyclerview,recyclerview-layout,Android,Firebase,Firebase Realtime Database,Android Recyclerview,Recyclerview Layout,我正在从firebase检索数据,并试图在recycler视图中显示,一切正常,但列表中只显示一项(总共有14项) 如果您不理解问题,请发表评论 这是我从firebase获取数据快照的主要活动 public class cakes_activity extends AppCompatActivity { RecyclerView recyclerView; ArrayList<Data> listdata; private DatabaseReference mref; privat

我正在从firebase检索数据,并试图在recycler视图中显示,一切正常,但列表中只显示一项(总共有14项)

如果您不理解问题,请发表评论

这是我从firebase获取数据快照的主要活动

public class cakes_activity extends AppCompatActivity {
RecyclerView recyclerView;
ArrayList<Data> listdata;
private DatabaseReference mref;
private  NorthAdaptor north;
private final Context context = this;


public int counter = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cakes);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    EditText editText = (EditText) findViewById(R.id.editText) ;
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    //FIREBASE
    recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    mref= FirebaseDatabase.getInstance().getReference("Cakes");
    mref.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            Data data = dataSnapshot.getValue(Data.class);
            listdata = new ArrayList<>();
            listdata.add(data);
            north = new NorthAdaptor(context,listdata);
            recyclerView.setLayoutManager(new LinearLayoutManager(context));
            recyclerView.hasFixedSize();
            recyclerView.setAdapter(north);

        }

        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {



        }

        @Override
        public void onChildRemoved(DataSnapshot dataSnapshot) {



        }

        @Override
        public void onChildMoved(DataSnapshot dataSnapshot, String s) {



        }

        @Override
        public void onCancelled(DatabaseError databaseError) {



        }
    });

}
public class Data {
private String ID,Name,image,RS;
public Data(){

}

public Data(String ID, String Name, String image, String RS) {
    this.ID = ID;
    this.Name = Name;
    this.image= image;
    this.RS = RS;
}

public String getId() {
    return ID;
}
public String getRS() {
    return RS;
}

public void setId(String id) {

    this.ID = id;
}

public String getName() {
    return Name;
}

public void setName(String Name) {
    this.Name = Name;
}

public String getimage() {
    return image;
}

public void setImg(String image) {
    this.image = image;
}
}
listdata=newarraylist();
north=新的NorthAdapter(上下文,listdata);
setLayoutManager(新的LinearLayoutManager(上下文));
RecycleView.hasFixedSize();
recyclerView.setAdapter(北部);
您需要用onCreate而不是onchildaded编写此代码

public class Data {
private String ID,Name,image,RS;
public Data(){

}

public Data(String ID, String Name, String image, String RS) {
    this.ID = ID;
    this.Name = Name;
    this.image= image;
    this.RS = RS;
}

public String getId() {
    return ID;
}
public String getRS() {
    return RS;
}

public void setId(String id) {

    this.ID = id;
}

public String getName() {
    return Name;
}

public void setName(String Name) {
    this.Name = Name;
}

public String getimage() {
    return image;
}

public void setImg(String image) {
    this.image = image;
}
listdata = new ArrayList<>();

        north = new NorthAdaptor(context,listdata);
        recyclerView.setLayoutManager(new LinearLayoutManager(context));
        recyclerView.hasFixedSize();
        recyclerView.setAdapter(north);