E / RecyclerView:未连接适配器;使用FirestoreRecycle跳过布局

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

我尝试使用RecyclerView选项制作FirestoreRecycle列表

当我选择微调器的项目,但是当我选择一个项目时列表不显示

    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_penilaian,container,false);
        firebase = FirebaseFirestore.getInstance();
        getfdb();
        final LinearLayoutManager layoutManager = new LinearLayoutManager(this.getActivity());
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        mFirestorelist.setLayoutManager(layoutManager);
        return v;
    }

    private void setuprecycleview() {
        Query query = firebase.collection("kelas").document(documentid).collection("siswa").orderBy("nama", Query.Direction.ASCENDING);
        FirestoreRecyclerOptions<kelas> options = new FirestoreRecyclerOptions.Builder<kelas>()
                .setQuery(query, kelas.class).build();
        adapter = new KelasAdapter(options);
        mFirestorelist.setHasFixedSize(true);
        mFirestorelist.setAdapter(adapter);
    }
    public void getfdb(){
     firebase.collection("kelas").whereEqualTo("email",email_txt)
             .addSnapshotListener(new EventListener<QuerySnapshot>() {
                 @Override
                 public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
                      if(e != null){
                          Log.w(TAG, "Listen failed.", e);
                          return;
                      }
                      for(DocumentSnapshot documentSnapshot:queryDocumentSnapshots){
                          arraykelas.add(documentSnapshot.get("kelas").toString());
                      }
                      kelasarrayadapter = new ArrayAdapter(getContext(),android.R.layout.simple_spinner_dropdown_item,arraykelas);
                      kelasspinner.setAdapter(kelasarrayadapter);
                      kelasspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                         @Override
                         public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                            String find = kelasspinner.getSelectedItem().toString();
                            firebase.collection("kelas").whereEqualTo("kelas",find).get()
                                    .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                                        @Override
                                        public void onComplete(@NonNull Task<QuerySnapshot> task) {
                                          if(task.isSuccessful()){
                                           if(task.getResult().size()>0){
                                               for(QueryDocumentSnapshot documentSnapshot : task.getResult()){
                                                   documentid = documentSnapshot.getId();
                                               }
                                               Log.d(TAG,documentid);
                                               setuprecycleview();                                               
                                          }
                                          }
                                        }
                                    });
                         }
                         @Override
                         public void onNothingSelected(AdapterView<?> parent) {}
                     });
                 }
             });
    }
}

这是我的适配器

    @NonNull
    @Override
    public kelasHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.kelas_nilai,parent,false);
        return new kelasHolder(v);
    }

[在.startlistening()OnStart()中,我已将其设置为适配器OnStop(),但它表示为空优先级。

  • 我删除了一些我认为不需要解决代码的代码
android firebase android-recyclerview firebaseui
2个回答
0
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.