简体   繁体   English

E/RecyclerView 错误:未连接适配器; 跳过布局

[英]Error with E/RecyclerView: No adapter attached; skipping layout

I want to get a list of registered users in UserFragment, actually here is my code, but when I go to the "Users" tab I get an error: E/RecyclerView: No adapter attached;我想获取 UserFragment 中注册用户的列表,实际上这是我的代码,但是当我转到“用户”选项卡时,出现错误: E/RecyclerView:没有附加适配器; skipping layout跳过布局

UsersFragment.java用户片段.java

public class UsersFragment extends Fragment {


RecyclerView recyclerView;
AdapterUsers adapterUsers;
List<ModelUser> userList;

FirebaseAuth firebaseAuth;

public UsersFragment() {
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_users, container, false);

    firebaseAuth = FirebaseAuth.getInstance();

    recyclerView = view.findViewById(R.id.users_recyclerView);

    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

    userList = new ArrayList<>();

    getAllUsers();

    return view;
}

private void getAllUsers() {
    final FirebaseUser fUser = FirebaseAuth.getInstance().getCurrentUser();
    DatabaseReference ref = FirebaseDatabase.getInstance().getReference("users");
    ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            userList.clear();
            for (DataSnapshot ds: dataSnapshot.getChildren()){
                ModelUser modelUser = ds.getValue(ModelUser.class);

                if (!modelUser.getUid().equals(fUser.getUid())){
                    userList.add(modelUser);
                }

                adapterUsers = new AdapterUsers(getActivity(), userList);
                recyclerView.setAdapter(adapterUsers);

            }

        }

what am I doing wrong?我究竟做错了什么?

Do this part outside the for loop after the users list has been built:构建用户列表后,在for循环之外执行此部分:

adapterUsers = new AdapterUsers(getActivity(), userList);
recyclerView.setAdapter(adapterUsers);

Or alternatively, in your onCreate , you can set the adapter of the recycler view with the empty userList , then at the end of your getAllUsers() function, and update the new userList in your adapterUsers and then call notifyDataSetChanged()或者,在您的onCreate ,您可以使用空的userList设置回收器视图的适配器,然后在getAllUsers()函数的末尾,并在您的adapterUsers更新新的userList ,然后调用notifyDataSetChanged()

onActivityCreated()而不是onCreateView()调用方法getAllUsers() ,它应该适用于您的情况。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 E / RecyclerView:没有连接适配器; 跳过布局错误 - E/RecyclerView: No adapter attached; skipping layout error 错误:E / RecyclerView:未连接适配器; 跳过布局 - error: E/RecyclerView: No adapter attached; skipping layout 对RecyclerView的更改导致此错误:E / RecyclerView:未附加适配器; 跳过布局 - Changes to RecyclerView led to this Error :E/RecyclerView: No adapter attached; skipping layout 错误 ANDROID STUDIO E/RecyclerView:未连接适配器; 跳过布局 - ERROR ANDROID STUDIO E/RecyclerView: No adapter attached; skipping layout 接收错误:E/RecyclerView:未连接适配器; 跳过布局(Java) - Receiving error : E/RecyclerView: No adapter attached; skipping layout (Java) E/RecyclerView:没有附加适配器; 跳过 Fragment 中的布局错误 - E/RecyclerView: No adapter attached; skipping layout error in Frgament 我收到一个错误 E/RecyclerView:没有连接适配器; 跳过布局 - Im getting an error E/RecyclerView: No adapter attached; skipping layout E / RecyclerView:未连接适配器; 跳过布局错误17 - E/RecyclerView: No adapter attached; skipping layout Error 17 E / RecyclerView:未连接适配器; 跳过布局4 - E/RecyclerView: No adapter attached; skipping layout 4 Android:E / RecyclerView:未连接适配器; 跳过布局 - Android: E/RecyclerView: No adapter attached; skipping layout
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM