【问题标题】:Recycler view inside view pager not refreshing when page scrolled页面滚动时viewpager内的Recyclerview不刷新
【发布时间】:2017-07-26 04:29:13
【问题描述】:

我在 viewPager 中有一个 RecyclerView。当我滚动视图寻呼机时,Recyclerview 中的内容不正确。我试图在 onPageScrolled() 和 onResume() 中调用 notifyDataSetChanged()。但页面滚动时内容仍然不刷新。

如何解决这个问题?提前致谢

viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {       //viewPager.setOffscreenPageLimit(App.getInstance().getFragmentList().size());
        favListAdapter.notifyDataSetChanged();

        }
    @Override
    public void onPageSelected(int position) {   
      //favListAdapter.notifyDataSetChanged();
        }
    @Override
    public void onPageScrollStateChanged(int state) {
    });


@Override
public void onResume(){
    if(favListAdapter!=null){
        favListAdapter.notifyDataSetChanged();

    }
    super.onResume();
}

编辑:

我正在像这样夸大视图:

@Override public RecyclerView.ViewHolder {

    onCreateViewHolder(final ViewGroup viewGroup, int viewType) { 

    View v1 = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout‌​.item_add, viewGroup, false); 
    return new CellViewHolder(v1); 

    }
}

【问题讨论】:

  • 你的数据是静态的还是动态的??
  • 是的,它正在获取动态数据
  • 你能贴出getView 的代码吗?
  • @ashwinx getView 是什么意思?
  • 可能是由于屏幕外页面限制而导致的问题:尝试此自定义视图寻呼机一次。可能有帮助stackoverflow.com/a/44405015/7874047

标签: java android android-recyclerview android-viewpager


【解决方案1】:

我认为您的问题是 viewPager 内的内容(recyclerView)没有获取当 recyclerview 显示在屏幕上时应该调用的动态数据。

这是因为viewPager加载了当前页面左右的页面进行软过渡。

因此,您应该在 ViewPager.OnPageChangeListeneronPageScrolled 上调用更改 recyclerView 内容的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多