Closed LeiShuang closed 4 years ago
` public void getNotificationNewsSuccess(List
private BaseDelegateAdapter initNewsAdapter() { mNewsAdapter = new BaseDelegateAdapter(getActivity(), new LinearLayoutHelper(homeNewsList.size()), homeNewsList.size(), R.layout.item_home_news , Constant.VLayoutViewType.newsType) { @Override public void onBindViewHolder(@NonNull BaseViewHolder baseViewHolder, int position) { TextView tvNewsTitle = baseViewHolder.getView(R.id.tv_home_news_title); TextView tvNewsTime = baseViewHolder.getView(R.id.tv_home_news_time); tvNewsTitle.setText(homeNewsList.get(position).getXwbt()); tvNewsTime.setText(homeNewsList.get(position).getFbsj()); } }; return mNewsAdapter; } ` 现在在数据发生改变的情况下,mNewsAdapter并不能刷新。还有一个疑问,在进入界面时,本想调用DelegateAdapter.addAdapter(position,? extends DelegateAdapter)方法先把子item的adapter按照顺序添加到DelegateAdapter上,在数据获取成功之后去调用子item的对应adapter的notifydatasetchange()去刷新数据,但是部分adapter数据并没刷新,无奈只好在数据获取成功之后再addAdapter
子item的Adapter基类去除掉之后,为每种item单独写一个对应的Adapter之后notifydatasetchanged没问题了。
mDelegateAdapter.add的子item的Adapter在数据改变情况下,去调用子item所对应的的Adapter的notifyDataSetChanged()无反应