Firebase recyclerView未附加到适配器

时间:2017-05-08 21:50:58

标签: android firebase android-recyclerview recycler-adapter firebaseui

由于某些原因,我的recyclerView没有附加到Firebase RecyclerView适配器。我正在一个片段中实现recyclerView,该片段显示在选项卡式活动中。我的代码(相关部分):

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = LayoutInflater.from(container.getContext())
                            .inflate(R.layout.fragment_fresh, container, false);

        // Initialize ProgressBar and RecyclerView.
        mProgressBar = (ProgressBar)rootView.findViewById(R.id.progressBar);
        mSessionRecyclerView = (RecyclerView) rootView.findViewById(R.id.sessionRecyclerView);
        mLinearLayoutManager = new LinearLayoutManager(getActivity());
        mLinearLayoutManager.setStackFromEnd(true);
        mSessionRecyclerView.setLayoutManager(mLinearLayoutManager);

        //implement recyclerview
        mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
        mFirebaseAdapter = new FirebaseRecyclerAdapter<Session, SessionViewHolder>(
                Session.class,
                R.layout.item_session,
                SessionViewHolder.class,
                //change back to SESSIONS_CHILD
                mFirebaseDatabaseReference.child("test")) {
            @Override
            protected void populateViewHolder(final SessionViewHolder viewHolder,
                                              Session session, int position) {

              //implementing populateViewHolder..
            }
        };



        mSessionRecyclerView.setLayoutManager(mLinearLayoutManager);
        mSessionRecyclerView.setAdapter(mFirebaseAdapter);

        return inflater.inflate(R.layout.fragment_fresh, container, false);
    }

}

XML只是一个recyclerView和progressBar。 值得一提的是,我已经完成了this thread.Tried将recycler的大小设置为wrap_parent,将setAdapter移动到onCreate,以及几乎所有其他答案 - 无济于事。

编辑:我在活动中进行了这项工作,但每当我在片段中尝试时,我都会遇到此错误。还尝试使用常规的recyclerView和自定义适配器,同样的事情发生。 recyclelerView是否在片段中以不同方式将自身附加到适配器?

1 个答案:

答案 0 :(得分:0)

好的,我终于修好了。问题实际上是在选项卡式活动中 - PlaceHolder片段中的getItem方法创建了PlaceHolder的新实例。 因此,我的片段甚至都没有被创造出来。 跳过布局上的所有线程都没有建议检查,希望这会有所帮助。