微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SetAdapter 不能应用,因为适配器是 FirestoreRecyclerviewAdapter

如何解决SetAdapter 不能应用,因为适配器是 FirestoreRecyclerviewAdapter

这是一个笔记应用程序,它从 Firebase 数据库获取数据并通过它自己的 Adapter FirestoreRecyclerAdapter 显示它以在回收者视图中查看。一切都是正确的,但错误是当我为 recyclerView 设置适配器时,它说以下错误-

setAdapter(androidx.recyclerview.widget.RecyclerView.Adapter)' in
androidx.recyclerview.widget.RecyclerView'不能应用于
(com.firebase.ui.firestore.FirestoreRecyclerAdapter)'

内嵌 **mrecyclerView.setAdapter(noteadapter)

public class notes_Activity extends AppCompatActivity {
    FloatingActionButton mcreatesnote;
    private FirebaseAuth firebaseAuth;
    FirebaseUser firebaseUser;
    FirebaseFirestore firebaseFirestore;


    RecyclerView mrecyclerView;
    StaggeredGridLayoutManager staggeredGridLayoutManager;

    
  FirestoreRecyclerAdapter<firebasemodel,NoteViewHolder> noteadapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_notes);
        getSupportActionBar().setTitle("All Notes");
        firebaseAuth= FirebaseAuth.getInstance();
        firebaseUser= FirebaseAuth.getInstance().getCurrentUser();
        firebaseFirestore= FirebaseFirestore.getInstance();


        mcreatesnote= findViewById(R.id.createsnote);
        mcreatesnote.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(notes_Activity.this,Create_note_activity.class));
            }
        });

        Query query= firebaseFirestore.collection("notes").document(firebaseUser.getUid()).collection("myNotes").orderBy("title",Query.Direction.ASCENDING);

        FirestoreRecyclerOptions<firebasemodel> allusernotes= new FirestoreRecyclerOptions.Builder<firebasemodel>().setQuery(query,firebasemodel.class).build();

        noteadapter= new FirestoreRecyclerAdapter<firebasemodel,NoteViewHolder >(allusernotes) {
            @Override
            protected void onBindViewHolder(@NonNull NoteViewHolder noteviewholder,int i,@NonNull firebasemodel firebasemodel) {

                noteviewholder.notetitle.setText(firebasemodel.getTitle());
                noteviewholder.notecontent.setText(firebasemodel.getContent());

            }


            @NonNull
            @Override
            public NoteViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
                View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.notes_layout,parent,false);
                return new NoteViewHolder(view);

            }
        };
        mrecyclerView= findViewById(R.id.recyclerview);
        mrecyclerView.setHasFixedSize(true);
        staggeredGridLayoutManager= new 
        StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
        mrecyclerView.setLayoutManager(staggeredGridLayoutManager);

        mrecyclerView.setAdapter(noteadapter);

    }
    public class NoteViewHolder extends android.support.v7.widget.RecyclerView.ViewHolder
        {
        private TextView notetitle;
        private TextView notecontent;
        LinearLayout mnote;

        public NoteViewHolder(View itemView) {
            super(itemView);
            notetitle= itemView.findViewById(R.id.note_title);
            notecontent= itemView.findViewById(R.id.note_content);
            mnote= itemView.findViewById(R.id.note);
        }
    }

        @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu,menu);
        return true;
    }

    @Override
    public boolean onoptionsItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId())
        {
            case R.id.logout: firebaseAuth.signOut();
            finish();
            startActivity(new Intent(notes_Activity.this,MainActivity.class));
        }

        return super.onoptionsItemSelected(item);
    }

    @Override
    protected void onStart() {
        super.onStart();
        noteadapter.startListening();
    }

    @Override
    protected void onStop() {
        super.onStop();
        if (noteadapter!=null)
        {
            noteadapter.stopListening();
        }
    }
}

错误是-

'setAdapter(androidx.recyclerview.widget.RecyclerView.Adapter)' in     
androidx.recyclerview.widget.RecyclerView' cannot be applied to     
(com.firebase.ui.firestore.FirestoreRecyclerAdapter)'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。