没有数据要从fire_base检索,并且适配器出现故障

时间:2018-06-04 19:28:43

标签: android firebase firebase-realtime-database android-recyclerview

E / RecyclerView:没有连接适配器;跳过布局#1

这是我第一次构建应用程序时的消息,所以有任何帮助吗?

公共类Images_Activity扩展了AppCompatActivity {

private RecyclerView mRecyclerView;
private ImageAdapter mAdapter;

private ProgressBar mProgressCircle;

private DatabaseReference mDatabaseRef;
private List<Upload> mUploads;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_images_);
    mRecyclerView = findViewById(R.id.recycler_view);
    mRecyclerView.setHasFixedSize(true);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));

    mProgressCircle = findViewById(R.id.progress_circle);

    mUploads = new ArrayList<>();

    mDatabaseRef = FirebaseDatabase.getInstance().getReference("uploads");

    mDatabaseRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                Upload upload = postSnapshot.getValue(Upload.class);
                mUploads.add(upload);
            }

            mAdapter = new ImageAdapter(Images_Activity.this, mUploads);
            mRecyclerView.setAdapter(mAdapter);
            mProgressCircle.setVisibility(View.INVISIBLE);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            mProgressCircle.setVisibility(View.INVISIBLE);
        }
    });
}

}

1 个答案:

答案 0 :(得分:0)

您不需要在事件监听器中执行mRecyclerView.setAdapter(mAdapter);

在侦听器之外或甚至在valueEventListener可以工作之前