Android 活动恢复时是否更新RecyclerView?

Android 活动恢复时是否更新RecyclerView?,android,android-recyclerview,material-design,Android,Android Recyclerview,Material Design,我有一个问题活动如果我在回收视图中显示问题列表 我在工具栏中有两个动作 转到下载文件活动 去最喜欢的活动 一切正常,但当我点击其中一个操作并返回到QuestionActivity时,RecyclerView无法更新 所以我需要重写OnResume方法。我的问题是,如何在onResume方法中更新RecyclerView AdapterRecyclerQuestioncode: public class AdapterRecyclerQuestion extends RecyclerView.Ad

我有一个
问题活动
如果我在
回收视图中显示问题列表

我在工具栏中有两个动作

  • 转到下载文件活动

  • 去最喜欢的活动

  • 一切正常,但当我点击其中一个操作并返回到
    QuestionActivity
    时,
    RecyclerView
    无法更新

    所以我需要重写OnResume方法。我的问题是,如何在
    onResume
    方法中更新
    RecyclerView

    AdapterRecyclerQuestion
    code:

    public class AdapterRecyclerQuestion extends RecyclerView.Adapter<AdapterRecyclerQuestion.ViewHolder> {
    
        private Context context;
        private ArrayList<ModelQuestion> questionha;
        private int lastd;
    
    
        ////////////////////////////////////////////////////////////
        //================== Constructor   =========================
        ////////////////////////////////////////////////////////////
    
        public AdapterRecyclerQuestion(Context context, ArrayList<ModelQuestion> questionha) {
            this.context = context;
            this.questionha = questionha;
        }
    
        ////////////////////////////////////////////////////////////
        //================== view holder  =========================
        ////////////////////////////////////////////////////////////
    
        public class ViewHolder extends RecyclerView.ViewHolder {
            private TextView txtTitle;
            private TextView txtDesc;
            private TextView txtCntDown;
            private Button btnDownload;
            private ImageView imgAddFav;
            private ProgressBar prgDownload;
    
            ////////////////////////////////////////////////////////////
            //================== View holder constructor  ==============
            ////////////////////////////////////////////////////////////
    
            public ViewHolder(View itemView) {
                super(itemView);
                txtTitle = (TextView) itemView.findViewById(R.id.txt_title_question);
                txtDesc = (TextView) itemView.findViewById(R.id.txt_desc_question);
                txtCntDown = (TextView) itemView.findViewById(R.id.txt_cnt_down_question_dy);
                btnDownload = (Button) itemView.findViewById(R.id.btn_down_question);
                imgAddFav = (ImageView) itemView.findViewById(R.id.img_add_to_fav);
                prgDownload = (ProgressBar) itemView.findViewById(R.id.prgDownload);
            }
        }
        ////////////////////////////////////////////////////////////
        //================== on create view holder  ================
        ////////////////////////////////////////////////////////////
    
        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_row, parent, false);
            return new ViewHolder(view);
        }
    
        ////////////////////////////////////////////////////////////
        //================== on bind view holder  =================
        ////////////////////////////////////////////////////////////
    
        @Override
        public void onBindViewHolder(final ViewHolder holder, final int position) {
    
    
            QuestionDatabaseAdapter questionDatabaseAdapter = new QuestionDatabaseAdapter(holder.itemView.getContext());
    
            holder.txtTitle.setText(questionha.get(position).getQuestionTitle());
            holder.txtDesc.setText(questionha.get(position).getQuestionDesc());
            holder.txtCntDown.setText(questionha.get(position).getQuestionDownCnt());
    
            ////////////////////////////////////////////////////////////
            //================== Favorite checking  ====================
            ////////////////////////////////////////////////////////////
    
    
            boolean isFavorite = questionDatabaseAdapter.isQuestionFavorite(questionha.get(position).getQuestionId());
    
            if (isFavorite)
    
            {
                holder.imgAddFav.setImageResource(R.drawable.ic_favorite_red_700_24dp);
            } else
    
            {
                holder.imgAddFav.setImageResource(R.drawable.ic_favorite_border_red_a700_24dp);
            }
    
    
            ////////////////////////////////////////////////////////////
            //================== img add fav listener  =================
            ////////////////////////////////////////////////////////////
    
            holder.imgAddFav.setOnClickListener(new View.OnClickListener() {
    
                                                    @Override
                                                    public void onClick(View v) {
    
                                                        QuestionDatabaseAdapter databaseAdapter = new QuestionDatabaseAdapter(v.getContext());
                                                        boolean isFav = databaseAdapter.isQuestionFavorite(questionha.get(position).getQuestionId());
    
                                                        if (!isFav) {
                                                            Toast.makeText(v.getContext(), "به لیست علاقه مندی ها اضافه شد", Toast.LENGTH_SHORT).show();
                                                            holder.imgAddFav.setImageResource(R.drawable.ic_favorite_red_700_24dp);
                                                            ModelQuestion question = new ModelQuestion();
    
                                                            question.setQuestionId(questionha.get(position).getQuestionId());
                                                            question.setQuestionTitle(questionha.get(position).getQuestionTitle());
                                                            question.setQuestionDesc(questionha.get(position).getQuestionDesc());
                                                            question.setQuestionDownLink(questionha.get(position).getQuestionDownLink());
                                                            question.setQuestionDownFileName(questionha.get(position).getQuestionDownFileName());
    
                                                            databaseAdapter.saveQuestion(question);
                                                        } else {
                                                            Toast.makeText(v.getContext(), "از لیست علاقه مندی ها پاک شد", Toast.LENGTH_SHORT).show();
                                                            holder.imgAddFav.setImageResource(R.drawable.ic_favorite_border_red_a700_24dp);
                                                            databaseAdapter.deleteQuestion(questionha.get(position).getQuestionId());
                                                        }
                                                    }
                                                }
            );
        }
    
        ////////////////////////////////////////////////////////////
        //================== get item count method  ================
        ////////////////////////////////////////////////////////////
        @Override
        public int getItemCount() {
            if (questionha.size() == 0) {
                return 0;
            } else {
                return questionha.size();
            }
        }
    }
    
    公共类AdapterRecyclerQuestion扩展了RecyclerView.Adapter{
    私人语境;
    私人ArrayList问题a;
    私人住宅;
    ////////////////////////////////////////////////////////////
    //=========================构造函数=========================
    ////////////////////////////////////////////////////////////
    公共AdapterRecyclerQuestion(上下文,ArrayList questionha){
    this.context=上下文;
    this.questionha=questionha;
    }
    ////////////////////////////////////////////////////////////
    //===============================视图支架=========================
    ////////////////////////////////////////////////////////////
    公共类ViewHolder扩展了RecyclerView.ViewHolder{
    私有文本视图txtTitle;
    私有文本视图txtDesc;
    私有文本视图txtCntDown;
    私人按钮BTN下载;
    私有图像视图imgAddFav;
    私有ProgressBar prgDownload;
    ////////////////////////////////////////////////////////////
    //=========================视图持有者构造函数==============
    ////////////////////////////////////////////////////////////
    公共视图持有者(视图项视图){
    超级(项目视图);
    txtTitle=(TextView)itemView.findViewById(R.id.txt\u title\u question);
    txtDesc=(TextView)itemView.findViewById(R.id.txt_desc_question);
    txtCntDown=(TextView)itemView.findViewById(R.id.txt\u cnt\u down\u question\u dy);
    btnDownload=(按钮)itemviewbyd(R.id.btn\u down\u问题);
    imgAddFav=(ImageView)itemView.findViewById(R.id.img\u add\u to\u fav);
    prgDownload=(ProgressBar)itemviewbyd(R.id.prgDownload);
    }
    }
    ////////////////////////////////////////////////////////////
    //===========================在创建视图保持架时================
    ////////////////////////////////////////////////////////////
    @凌驾
    public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
    View=LayoutFlater.from(parent.getContext()).flate(R.layout.question_行,parent,false);
    返回新的ViewHolder(视图);
    }
    ////////////////////////////////////////////////////////////
    //===========================在绑定视图保持架上=================
    ////////////////////////////////////////////////////////////
    @凌驾
    公共无效onBindViewHolder(最终视图持有人,最终整型位置){
    QuestionDatabaseAdapter QuestionDatabaseAdapter=新的QuestionDatabaseAdapter(holder.itemView.getContext());
    holder.txtTitle.setText(questionha.get(position.getQuestionTitle());
    holder.txtDesc.setText(questionha.get(position.getQuestionDesc());
    holder.txtCntDown.setText(questionha.get(position.getQuestionDownCnt());
    ////////////////////////////////////////////////////////////
    //=================================收藏夹检查====================
    ////////////////////////////////////////////////////////////
    布尔值isFavorite=questionDatabaseAdapter.isQuestionFavorite(questionha.get(position.getQuestionId());
    如果(我最喜欢)
    {
    holder.imgAddFav.setImageResource(R.drawable.ic_favorite_red_700_24dp);
    }否则
    {
    holder.imgAddFav.setImageResource(R.drawable.ic_favorite_border_red_a700_24dp);
    }
    ////////////////////////////////////////////////////////////
    //=========================img添加fav侦听器=================
    ////////////////////////////////////////////////////////////
    holder.imgAddFav.setOnClickListener(新视图.OnClickListener(){
    @凌驾
    公共void onClick(视图v){
    QuestionDatabaseAdapter databaseAdapter=新的QuestionDatabaseAdapter(v.getContext());
    布尔值isFav=databaseAdapter.isQuestionFavorite(questionha.get(position.getQuestionId());
    如果(!isFav){
    Toast.makeText(v.getContext(),“Toast.LENGTH.”show();
    holder.imgAddFav.setImageResource(R.drawable.ic_favorite_red_700_24dp);
    ModelQuestion=newmodelQuestion();
    question.setQuestionId(questionha.get(position.getQuestionId());
    question.setQuestionTitle(questionha.get(position.getQuestionTitle());
    question.setQuestionDesc(questionha.get(position.getQuestionDesc());
    question.setQuestionDownLink(questionha.get(position.getQuestionDownLink());
    question.setQuestionDownFileName(questionha.get(position.getQuestionDownFileName());
    databaseAdapter.saveQuestion(问题);
    
    public void setData(ArrayList<ModelQuestion> data){
        questionha=data;
        notifyDataSetChanged();
    }
    
        ////////////////////////////////////////////////////////////
        //================== on Resume   ===========
        ////////////////////////////////////////////////////////////
    
        @Override
        protected void onResume() {
            super.onResume();
            adapterRecyclerQuestion.notifyDataSetChanged();
            recyclerQuestion.setAdapter(adapterRecyclerQuestion);
        }