0

在 ViewPager 中使用 EpoxyRecyclerView

@Override
        public Object instantiateItem(ViewGroup collection, int position) {
            LayoutInflater inflater = LayoutInflater.from(mContext);

            ViewGroup layout = (ViewGroup) inflater.inflate(idLists.get(position), collection, false);
            collection.addView(layout);

            splitRecyclerView = (EpoxyRecyclerView) layout.findViewById(R.id.split_recycler_view);

            splitRecyclerView.setLayoutManager(new LinearLayoutManager(this.mContext));

            splitRecyclerView.setController(controller);

            updateController(position);

            return layout;
        }

错误:

09-03 22:54:36.394 23354-23354/com.milcgroup.one E/AndroidRuntime:致命异常:主进程:com.milcgroup.one,PID:23354 java.lang.IllegalStateException:此 EpoxyController 已将其适配器添加到更多比一个 ReyclerView。Epoxy 不支持将适配器附加到多个 RecyclerView,因为保存的状态将无法正常工作。如果您不打算将您的适配器附加到多个 RecyclerView,您可能会泄漏对先前 RecyclerView 的引用。确保从任何以前的 RecyclerViews 中删除适配器(例如,如果适配器在多个 onCreateView/onDestroyView 循环的片段中重用)。请参阅 https://github.com/airbnb/epoxy/wiki/Avoiding-Memory-Leaks了解更多信息。在 com.airbnb.epoxy.EpoxyController$3.run(EpoxyController.java:690) 在 android.os.Handler.handleCallback(Handler.java:790) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android .os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os .RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

4

0 回答 0