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
Android 带有两个FireStoreRecyclerAdapter的嵌套RecyclerView_Android_Google Cloud Firestore_Android Recyclerview_Firebaseui - Fatal编程技术网

Android 带有两个FireStoreRecyclerAdapter的嵌套RecyclerView

Android 带有两个FireStoreRecyclerAdapter的嵌套RecyclerView,android,google-cloud-firestore,android-recyclerview,firebaseui,Android,Google Cloud Firestore,Android Recyclerview,Firebaseui,我想要一个嵌套的RecyclerView,它是通过使用两个FirestoreRecyclerAdapters来填充的,它们从Firestore收集两个不同的请求(responseOne和ResponseTo) 在下面的例子中,用简短的话来描述场景: firstRecyclerView-->使用FirestoreRecyclerAdapter secondRecyclerView(嵌套在firstRecyclerView)中-->使用FirestoreRecyclerAdapter填充 以下是我针

我想要一个嵌套的
RecyclerView
,它是通过使用两个
FirestoreRecyclerAdapter
s来填充的,它们从Firestore收集两个不同的请求(responseOne和ResponseTo)

在下面的例子中,用简短的话来描述场景:

  • firstRecyclerView
    -->使用
    FirestoreRecyclerAdapter
  • secondRecyclerView
    (嵌套在
    firstRecyclerView
    )中-->使用
    FirestoreRecyclerAdapter填充
  • 以下是我针对该场景的代码:

    firstRecyclerView = rootView.findViewById(R.id.posts_list_recyclerview);
    firstAdapter = new FirestoreRecyclerAdapter<Post, PostHolder>(repsonseOne) {
        @Override
        public void onBindViewHolder(@NonNull PostHolder holder, int position, @NonNull Post model) {
            holder.setPostText_to_UI(model.getText());
        }
    
        @NonNull
        @Override
        public PostHolder onCreateViewHolder(@NonNull ViewGroup group, int i) {
            View view = LayoutInflater.from(group.getContext())
                    .inflate(R.layout.posts_item_cardview, group, false);
    
    
            secondRecyclerView = view.findViewById(R.id.comments_list_recyclerview);
            secondAdapter = new FirestoreRecyclerAdapter<Comment, CommentHolder>(repsonseTwo) {
                @Override
                protected void onBindViewHolder(@NonNull CommentHolder holder, int position, @NonNull Comment model) {
                    holder.setAuthorDisplayName_to_UI(model.getAuthorUserId());
                }
    
                @NonNull
                @Override
                public CommentHolder onCreateViewHolder(@NonNull ViewGroup group, int viewType) {
                    View view = LayoutInflater.from(view.getContext()).inflate(R.layout.posts_comments_item_cardview, group, false);
                    return new CommentHolder(view);
                }
            };
            secondRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
            secondRecyclerView.setItemAnimator(new DefaultItemAnimator());
            secondRecyclerView.setAdapter(secondAdapter);
            secondAdapter.notifyDataSetChanged();
    
    
            return new PostHolder(view);
        }
    };
    firstRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    firstRecyclerView.setItemAnimator(new DefaultItemAnimator());
    firstRecyclerView.setAdapter(firstAdapter);
    firstAdapter.notifyDataSetChanged();
    
    firstRecyclerView=rootView.findViewById(R.id.posts\u list\u recyclerview);
    firstAdapter=新FirestoreRecyclerAdapter(repsonseOne){
    @凌驾
    public void onBindViewHolder(@NonNull PostHolder,int position,@NonNull Post model){
    setPostText_to_UI(model.getText());
    }
    @非空
    @凌驾
    public PostHolder onCreateViewHolder(@NonNull ViewGroup组,int i){
    View=LayoutInflater.from(group.getContext())
    .充气(R.layout.posts\u item\u cardview,group,false);
    secondRecyclerView=view.findViewById(R.id.comments\u list\u recyclerview);
    第二个适配器=新的FireStore回收适配器(repsonseTwo){
    @凌驾
    受保护的无效onBindViewHolder(@NonNull CommentHolder,int位置,@NonNull CommentModel){
    setAuthorDisplayName_to_UI(model.getAuthorUserId());
    }
    @非空
    @凌驾
    public CommentHolder onCreateViewHolder(@NonNull ViewGroup group,int viewType){
    查看视图=LayoutFlater.from(View.getContext())。充气(R.layout.posts\u comments\u item\u cardview,group,false);
    返回新的注释持有者(视图);
    }
    };
    setLayoutManager(新的LinearLayoutManager(getActivity());
    setItemAnimator(新的DefaultItemAnimator());
    secondRecyclerView.setAdapter(secondAdapter);
    secondAdapter.notifyDataSetChanged();
    返回新的职位持有者(视图);
    }
    };
    setLayoutManager(新的LinearLayoutManager(getActivity());
    setItemAnimator(新的DefaultItemAnimator());
    firstRecyclerView.setAdapter(firstAdapter);
    firstAdapter.notifyDataSetChanged();
    
    firstRecyclerView
    运行良好,没有任何问题,并显示所有数据

    但是,
    secondRecyclerView
    没有初始化,我在调试视图中看到这两个方法不是由代码启动的:

    • public CommentHolder onCreateViewHolder()
    • 受保护的void onBindViewHolder(@NonNull CommentHolder,int position,@NonNull Comment model)
    我如何才能让这两个
    FirestoreRecyclerAdapter
    s运行