无法获得Cardview,E / RecyclerView:未连接适配器;跳过布局错误,如何将适配器添加到recyclerView?

问题描述 投票:0回答:1

我正在使用android studio来构建应用程序。运行该应用程序时,出现“ E / RecyclerView:未连接适配器;跳过布局”的提示。由于我是android studio开发的新手,因此无法解决问题。我在线上尝试了几种解决方案,但对我而言不起作用。

public class MainActivity extends AppCompatActivity {

RecyclerView recyclerView;
RecyclerViewAdapter adapter;
DatabaseReference mDatabase;
ProgressDialog progressDialog;
private List <Upload> uploads;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    recyclerView = findViewById(R.id.recyclerview_id);
    recyclerView.setLayoutManager(new GridLayoutManager(this,3));
    progressDialog = new ProgressDialog(this);
    uploads = new ArrayList<>();
    progressDialog.setMessage("Please wait ...");
    progressDialog.show();
    mDatabase = FirebaseDatabase.getInstance().getReference("upload");
    mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            progressDialog.dismiss();
            for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
            Upload upload = postsnapshot.getValue(Upload.class);
            uploads.add(upload);

            }
            adapter = new RecyclerViewAdapter(getApplicationContext(),uploads);
            recyclerView.setAdapter(adapter);
            adapter.notifyDataSetChanged();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

            progressDialog.dismiss();

        }
    });

}
java android android-studio android-recyclerview recycler-adapter
1个回答
-1
投票

尝试一下

public class MainActivity extends AppCompatActivity {

RecyclerView recyclerView;
RecyclerViewAdapter adapter;
DatabaseReference mDatabase;
ProgressDialog progressDialog;
private List <Upload> uploads;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    recyclerView = findViewById(R.id.recyclerview_id);
    recyclerView.setLayoutManager(new GridLayoutManager(this,3));
    progressDialog = new ProgressDialog(this);
    uploads = new ArrayList<>();
    adapter = new RecyclerViewAdapter(getApplicationContext(),uploads);
            recyclerView.setAdapter(adapter);
            adapter.notifyDataSetChanged();

    progressDialog.setMessage("Please wait ...");
    progressDialog.show();
    mDatabase = FirebaseDatabase.getInstance().getReference("upload");
    mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            progressDialog.dismiss();
            for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
            Upload upload = postsnapshot.getValue(Upload.class);
            uploads.add(upload);

            }

            adapter.notifyDataSetChanged();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

            progressDialog.dismiss();

        }
    });

}
© www.soinside.com 2019 - 2024. All rights reserved.