Java Firestore未从文档中检索某些字段

Java Firestore未从文档中检索某些字段,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我在片段中使用了一个回收器来显示firestore中集合中的文档,问题是,它只是从文档中检索某些字段,看起来它忽略了模型类中的一些其他Setter字段,这是我得到的错误: W/Firestore:(0.6.6-dev)[zzko]:在上找不到sabado的setter/字段 班 com.example.denilsondasilva.iasdmt.com.example.denilsondasilva.com.example.denilsondasilva.MODELS.modelsprogra

我在片段中使用了一个回收器来显示firestore中集合中的文档,问题是,它只是从文档中检索某些字段,看起来它忽略了模型类中的一些其他Setter字段,这是我得到的错误:

W/Firestore:(0.6.6-dev)[zzko]:在上找不到sabado的setter/字段 班 com.example.denilsondasilva.iasdmt.com.example.denilsondasilva.com.example.denilsondasilva.MODELS.modelsprogramas

下面是我的模型课:

public class ModelProgramas {

    public ModelProgramas() {
    }

    public ModelProgramas(String sabado, String evento, String responsavel, String data, String horario) {
        this.sabado = sabado;
        this.evento = evento;
        this.responsavel = responsavel;
        this.data = data;
        this.horario = horario;
    }

    public String getSabado() {
        return sabado;
    }

    public void setSabado(String sabado) {
        this.sabado = sabado;
    }

    public String getEvento() {
        return evento;
    }

    public void setEvento(String evento) {
        this.evento = evento;
    }

    public String getResponsavel() {
        return responsavel;
    }

    public void setResponsavel(String responsavel) {
        this.responsavel = responsavel;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getHorario() {
        return horario;
    }

    public void setHorario(String horario) {
        this.horario = horario;
    }

    private String sabado;
    private String evento;
    private String responsavel;
    private String data;
    private String horario;
}
我为类创建了一个空构造函数,为变量创建了构造函数,还创建了getter和setter,我看到了前面的问题,所以我知道getter和setter以及变量都是正确创建的。变量小写,getter和setter以大写开头。firestore文档中的字符串与创建的变量相同

这是我的适配器:

public class PROGRAMASrecyclerAdapter extends RecyclerView.Adapter<PROGRAMASrecyclerAdapter.Programasholder> {

    Context ctx;
    private List<ModelProgramas> Progs_list;

    public PROGRAMASrecyclerAdapter(List<ModelProgramas> progs_list) {
        this.Progs_list = progs_list;
    }

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

    @Override
    public void onBindViewHolder(@NonNull Programasholder holder, int position) {

        final String sabado = Progs_list.get(position).getSabado();
        holder.setSabado(sabado);

        String evento = Progs_list.get(position).getEvento();
        holder.setEvento(evento);

        String responsavel = Progs_list.get(position).getResponsavel();
        holder.setResponsavel(responsavel);

        String data = Progs_list.get(position).getData();
        holder.setData(data);

        String horario = Progs_list.get(position).getHorario();
        holder.setHorario(horario);

        holder.mcardView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(ctx, sabado, Toast.LENGTH_SHORT).show();
            }
        });
    }

    @Override
    public int getItemCount() {
        return Progs_list.size();
    }

    public class Programasholder extends RecyclerView.ViewHolder{
        View mView;
        private TextView Sabadotxt;
        private TextView Eventotxt;
        private TextView Responsaveltxt;
        private TextView DatadoEventotxt;
        private TextView Horariotxt;
        private CardView mcardView;

        public Programasholder(View itemView) {
            super(itemView);
            mView = itemView;

            mcardView = mView.findViewById(R.id.listCard_Programas);
        }

        public void setSabado(String sabado){
            Sabadotxt = mView.findViewById(R.id.Prog_sabadotxt);
            Sabadotxt.setText(sabado);
        }

        public void setEvento(String evento){
            Eventotxt = mView.findViewById(R.id.Prog_eventotxt);
            Eventotxt.setText(evento);
        }

        public void setResponsavel(String responsavel){
            Responsaveltxt = mView.findViewById(R.id.Prog_responsaveltxt);
            Responsaveltxt.setText(responsavel);
        }

        public void setData(String data){
            DatadoEventotxt = mView.findViewById(R.id.Prog_datadoEventotxt);
            DatadoEventotxt.setText(data);
        }

        public void setHorario(String horario){
            Horariotxt = mView.findViewById(R.id.Prog_horariotxt);
            Horariotxt.setText(horario);
        }
    }
}
公共类程序AsRecyclerAdapter扩展了RecyclerView.Adapter{
上下文ctx;
私有列表程序列表;
公共程序回收器适配器(列表程序列表){
this.Progs_list=Progs_list;
}
@非空
@凌驾
公共程序AsHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
ctx=parent.getContext();
View View=LayoutInflater.from(parent.getContext()).flate(R.layout.programmas\u list\u项,parent,false);
返回新程序文件夹(视图);
}
@凌驾
public void onBindViewHolder(@NonNull Programasholder holder,int位置){
最后一个字符串sabado=Progs_list.get(position.getSabado();
持有人:setSabado(sabado);
字符串evento=Progs_list.get(position.getEvento();
持有人:setEvento(evento);
字符串responsavel=Progs_list.get(position.getResponsavel();
持有人:setResponsavel(responsavel);
String data=Progs_list.get(position).getData();
持有者。设置数据(数据);
字符串horario=Progs_list.get(position.getHorario();
持有人:setHorario(horario);
holder.mcardView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Toast.makeText(ctx,sabado,Toast.LENGTH_SHORT).show();
}
});
}
@凌驾
public int getItemCount(){
返回Progs_list.size();
}
公共类程序文件夹扩展了RecyclerView.ViewHolder{
视图视图;
私有文本视图Sabadotxt;
私有文本视图事件文本;
私有文本视图响应AVELTXT;
私有文本视图DataDoEventOText;
私有文本视图;
私有卡视图mcardView;
公共程序文件夹(查看项目视图){
超级(项目视图);
mView=项目视图;
mcardView=mView.findviewbyd(R.id.listCard\u程序);
}
公共void setSabado(字符串sabado){
Sabadotxt=mView.findViewById(R.id.Prog_Sabadotxt);
Sabadotxt.setText(sabado);
}
公共void setEvento(字符串evento){
Eventotxt=mView.findviewbyd(R.id.Prog_Eventotxt);
Eventotxt.setText(evento);
}
公共void setResponsavel(字符串responsavel){
Responsaveltxt=mView.findviewbyd(R.id.Prog_Responsaveltxt);
responsaveltext.setText(responsavel);
}
公共void setData(字符串数据){
datadoeventext=mView.findviewbyd(R.id.Prog_datadoeventext);
datadoeventotext.setText(数据);
}
公共void setHorario(字符串horario){
Horariotxt=mView.findViewById(R.id.Prog_Horariotxt);
Horariotxt.setText(horario);
}
}
}
我甚至在cardview上创建了一个点击监听器来显示检索到的字符串“sabado”,以查看问题是否出在Viewholder类上,但它返回NULL

这是我的片段类:

public class ProgramasFragment extends Fragment {

    View view;
    private RecyclerView recyclerView;
    private List<ModelProgramas> Progs_List;
    private FirebaseFirestore firebaseFirestore;
    PROGRAMASrecyclerAdapter programaSrecyclerAdapter;


    public ProgramasFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_programas, container, false);
        Progs_List = new ArrayList<>();
        programaSrecyclerAdapter = new PROGRAMASrecyclerAdapter(Progs_List);

        firebaseFirestore = FirebaseFirestore.getInstance();

        recyclerView = view.findViewById(R.id.Recycler_ProgramasList);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
        recyclerView.setAdapter(programaSrecyclerAdapter);

        firebaseFirestore.collection("programasdatarde").addSnapshotListener(new EventListener<QuerySnapshot>() {
            @Override
            public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {

                if (queryDocumentSnapshots == null){
                    String error = e.getCause().getMessage();
                    Toast.makeText(getActivity().getApplicationContext(), "Empty QUERY: "+error, Toast.LENGTH_SHORT).show();
                }else{

                    for (DocumentChange doc: queryDocumentSnapshots.getDocumentChanges()){

                        if (doc.getType() == DocumentChange.Type.ADDED){

                            ModelProgramas modelProgramas = doc.getDocument().toObject(ModelProgramas.class);
                            Progs_List.add(modelProgramas);
                            programaSrecyclerAdapter.notifyDataSetChanged();
                        }
                    }
                }
            }
        });

        return view;
    }
}
公共类程序片段扩展片段{
视图;
私人回收站;
私有列表程序列表;
私人FirebaseFirestore FirebaseFirestore;
程序为RecyclerAdapter程序为RecyclerAdapter;
公共程序片段(){
//必需的空公共构造函数
}
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.fragment\u程序,容器,错误);
Progs_List=new ArrayList();
programaSrecyclerAdapter=新的programaSrecyclerAdapter(程序列表);
firebaseFirestore=firebaseFirestore.getInstance();
recyclerView=view.findViewById(R.id.Recycler\u ProgramasList);
recyclerView.setHasFixedSize(true);
setLayoutManager(新的LinearLayoutManager(getActivity());
setAdapter(programaSrecyclerAdapter);
firebaseFirestore.collection(“programasdatarde”).addSnapshotListener(新的EventListener(){
@凌驾
public void OneEvent(@Nullable QuerySnapshot queryDocumentSnapshots,@Nullable FirebaseFirestoreException e){
if(queryDocumentSnapshots==null){
字符串错误=e.getCause().getMessage();
Toast.makeText(getActivity().getApplicationContext(),“空查询:”+错误,Toast.LENGTH\u SHORT.show();
}否则{
对于(DocumentChange文档:queryDocumentSnapshots.getDocumentChanges()){
if(doc.getType()==DocumentChange.Type.ADDED){
ModelProgramas ModelProgramas=doc.getDocument().toObject(ModelProgramas.class);
程序列表添加(modelProgramas);
programaSrecyclerAdapter.notifyDataSetChanged();
}
}
}
}
});
返回v
firebaseFirestore.collection("programasdatarde").addSnapshotListener(new EventListener<QuerySnapshot>() {
    @Override
    public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {

        if (queryDocumentSnapshots == null){
            String error = e.getCause().getMessage();
            Toast.makeText(getActivity().getApplicationContext(), "Empty QUERY: "+error, Toast.LENGTH_SHORT).show();
        } else {
            for (DocumentChange doc: queryDocumentSnapshots.getDocumentChanges()){
                if (doc.getType() == DocumentChange.Type.ADDED){
                    ModelProgramas modelProgramas = doc.getDocument().toObject(ModelProgramas.class);
                    Progs_List.add(modelProgramas);
                }
            }

            // Move the notify data set out here. 
            programaSrecyclerAdapter.notifyDataSetChanged();
        }
    }
});
public class ModelProgramas {

    public String sabado;
    public String evento;
    public String responsavel;
    public String data;
    public String horario;

    public ModelProgramas() {}
}