【问题标题】:Android fragment reyclerview in viewpager not workingviewpager 中的 Android 片段 reyclerview 不起作用
【发布时间】:2016-02-09 07:46:30
【问题描述】:

我有一个片段、recyclerview、viewpager 问题,我已经坚持了几个星期了。

我有四个标签,每个标签都有片段,标签 1 和 4 有回收站视图。但是,当我来回走动时,由于某种原因,我在回收站视图中的列表最初是空的,直到我单击一个调用 updateUI() 的按钮:

  ...
  mResult = realmResults.get(0);

  for(int i = 0; i < mResult.getItems().size(); i++){
     mList.add(mResult.getItems.get(i));
  {

  if(mRecyclerView.getAdapter() == null) {
        mAdapter = new MultViewAdapter(mList);
        mSubjectRecyclerView.setAdapter(mAdapter);
    } else {
        mAdapter.notifyDataSetChanged();
    }

但是当它被调用时,显示的列表会增加一,而它应该仍然是相同的。可能会在原始列表之上创建另一个列表,因为每次我在选项卡中来回切换时,它只会在列表中添加一个额外的项目。

此外,在 logcat 上,每次我访问该选项卡时都会显示以下错误。

RecyclerView: No adapter attached; skipping layout

据我了解,在转到选项卡 4 后,由于 setOffscreenPageLimit 方法,片段将被销毁,因此当返回到 tab1 时,它应该调用 onCreateView,然后应该创建一个新适配器并显示列表。 我不明白列表最初是如何为空的。我的 onCreateView 是:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.activity_subject_list, container, false);
    realm = Realm.getDefaultInstance();
    mSubjectRecyclerView = (RecyclerView) view.findViewById(R.id.subject_recycler_view);

    mSubjectRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

    updateUI();

    return view;
}

所以recyclerview每次都应该有一个新的适配器。

谢谢!

【问题讨论】:

  • @Blackbelt 抱歉,我会在我的 updateUI 中添加更多代码。在 updateUI() 方法中创建新适配器之前,我可以将项目添加到列表中。但是初始减速是空的:private List mList = new ArrayList();
  • 在将mList 提交到适配器之前,您是否将项目添加到mList
  • 好的,我在 updateui 中的适配器之前将项目添加到列表中
  • 对不起我的错误,它在适配器之前。请参阅 for each 循环中发布的已编辑代码的第一部分。
  • 设置mViewPager.setOffscreenPageLimit(3);,这样每次切换tab 1和4时片段都不会被破坏

标签: android android-fragments android-viewpager android-recyclerview android-tabs


【解决方案1】:

Opps,我忘了在 for-each 循环之前调用 mList.clear()。谢谢大家。

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多