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

查询更改后如何刷新recyclerview

如何解决查询更改后如何刷新recyclerview

每当用户从微调器中选择新选项时,我想更改回收器视图的内容

这里的查询会根据用户选择的 pos 的值而改变。但是此方法不起作用,因为它根据 pos 的认值显示数据。 刷新 Activity 将不起作用,因为它会再次设置 pos 的认值。

 public void load_recycler(String type,int year) {

    progressDialog.show();
    FirestoreRecyclerOptions<holder> options = null;



    Query query = rootRef.collection(type).document(String.valueOf(year)).collection("data").orderBy("ref_id",Query.Direction.ASCENDING)
            .whereEqualTo("category",pos);


    options = new FirestoreRecyclerOptions.Builder<holder>().setQuery(query,holder.class).build();

    adapter = new FirestoreRecyclerAdapter<holder,RecyclerAdapter>(options) {
        @Override
        protected void onBindViewHolder(@NonNull final RecyclerAdapter holder,final int position,@NonNull final holder model) {

            holder.ref_id.setText(model.getRef_id());
            holder.detail.setText(model.getDetail());
            holder.style.setText(model.getStyle());
            Glide.with(getApplicationContext()).load(model.getimage()).into(holder.image);

            holder.enter.setonClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String documentId = getSnapshots().getSnapshot(position).getId();
                    Intent intent = new Intent(getApplicationContext(),DetailActivity.class);
                    intent.putExtra("Year",year);
                    intent.putExtra("Type",type);
                    intent.putExtra("Document",documentId);
                    startActivity(intent);
                }
            });


        }

        @NonNull
        @Override
        public RecyclerAdapter onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {

            View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.item_card,parent,false);
            return new RecyclerAdapter(view);

        }
    };

    recyclerView.setLayoutManager(new linearlayoutmanager(getApplicationContext(),linearlayoutmanager.VERTICAL,false) {
        @Override
        public void onLayoutCompleted(RecyclerView.State state) {
            super.onLayoutCompleted(state);
            progressDialog.dismiss();
        }
    });
    recyclerView.setAdapter(adapter);

    adapter.notifyDataSetChanged();
}



public static class RecyclerAdapter extends RecyclerView.ViewHolder {
    TextView ref_id,style,detail;
    ImageView image,enter;
    CardView card;

    public RecyclerAdapter(@NonNull View itemView) {
        super(itemView);
        ref_id = itemView.findViewById(R.id.ref_id);
        style = itemView.findViewById(R.id.style);
        detail = itemView.findViewById(R.id.detail);
        image = itemView.findViewById(R.id.image);
        card = itemView.findViewById(R.id.card);
        enter = itemView.findViewById(R.id.enter);
    }
}

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