java - 如何在主 Activity 的一个回收器 View 中显示 2 个适配器?

标签 java android android-studio

我有 2 个适配器,我想在一个回收 View 中显示 2 个适配器。 例如,我有一个用于带有图像的帖子的适配器,另一个我有一个用于没有图像的帖子的适配器。我想显示带有图像的适配器帖子和不带图像的帖子,我尝试了一些,我的代码如下。

这是我的主要 Activity 。

 //with image
  private List<ModelPostImage> postImageList;
  private AdapterImage adapterImage;

 //without image
private List<ModelPost> postList;
private AdapterPost adapterPost;

//load posts
 loadPostWithImage();
 loadPostWithoutImage();

 //loadWithImage
 private void loadPostWithImage() {
    DatabaseReference ref 
 FirebaseDatabase.getInstance().getReference("postImage");
    ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            postImageList.clear();
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                ModelPostImage modelPostImage= 
                   ds.getValue(ModelPostImage.class);

                postImageList.add(modelPostImage);
                adapterImage= new AdapterImage(MainActivity.this, 
                 postImageList);
                //set adapter to RecyclerView
                recyclerView.setAdapter(adapterImage);


            }

        }

  //loadWithoutImage
   private void loadPostWithoutImage() {
    DatabaseReference ref 
 FirebaseDatabase.getInstance().getReference("Posts");
    ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            postList.clear();
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                ModelPost modelPost= 
                   ds.getValue(ModelPost.class);

                postList.add(modelPost);
                adapterPost = new AdapterPost(MainActivity.this, 
                 postList);
                //set adapter to RecyclerView
                recyclerView.setAdapter(adapterPost);

它不显示带有图像的帖子,我该怎么办?

最佳答案

为 RecyclerView Adapter 使用 2 种 ViewHolder,而不是在 1 个 RecyclerView 中使用 2 个 Adapter

您还可以在此处了解有关如何正确使用 RecyclerView 的更多信息。 https://guides.codepath.com/android/using-the-recyclerview

关于java - 如何在主 Activity 的一个回收器 View 中显示 2 个适配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58369095/

相关文章:

java - Android:将 PreferenceFragment 与单个布局中的其他小部件结合起来

java - 按钮只能在圣诞节后使用

java - "Application not responding"并且用户选择 "close"应用程序而不是 "wait"

java - PopupWindow 如何以编程方式更改图标和背景?

java - 从 C++ 获取 Java 中的 Struct 对象

android - 以下案例如何管理 SQLite 数据库

Android 开发人员指南/Android Studio 报告错误的最小 API 级别

android - 插件 Android 支持异常 "Icon cannot be found in"

c++ - 在 Android Studio 中调试 C++ 时“启动 LLDB 服务器”

java - 在java中扫描图像中的特定颜色