空指针异常[Android] [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在尝试制作一个Android应用程序,我正面临着这个错误:

java.lang.NullPointerException:尝试在com.example.sejal.newquichhelp.ListAllHelperActivity $ 1.onEvent(ListAllHelperActivity.java)的空对象引用上调用接口方法'boolean java.util.List.add(java.lang.Object)' :79)com.example.sejal.newquichhelp.ListAllHelperActivity $ 1.onEvent(ListAllHelperActivity.java:73),位于com.google.android.gms.internal的com.google.firebase.firestore.zzi.onEvent(未知来源)。 zzevc.zza(未知来源)位于android.os.Handler.dispatchMessage(Handler)上android.os.Handler.handleCallback(Handler.java:836)的com.google.android.gms.internal.zzevd.run(未知来源) .java:103)在android.app.Looper.loop(Looper.java:232)的android.app.ActivityThread.main(ActivityThread.java:6661)at java.lang.reflect.Method.invoke(Native Method)at at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1106)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

java.lang.NullPointerException:尝试在空对象引用上调用接口方法'boolean java.util.List.add(java.lang.Object)'

这是我的代码:

list all activity.Java:

    public class ListAllHelperActivity extends AppCompatActivity {

        private RecyclerView mUsersListView;
        private List<Users> usersList;
        private FirebaseAuth mAuth;
        private  UsersRecyclerAdapter usersRecyclerAdapter;
        private FirebaseFirestore mFirestore;


        protected View onCreate(Bundle savedInstanceState,LayoutInflater inflater,ViewGroup container) {
            super.onCreate(savedInstanceState);
            usersList= new ArrayList<>();
            View view= inflater.inflate(R.layout.fragment_users, container, false);
            mUsersListView=(RecyclerView)view.findViewById(R.id.user_recycler);
            mFirestore=FirebaseFirestore.getInstance();

           // usersList= new ArrayList<>();

            usersRecyclerAdapter=new UsersRecyclerAdapter(container.getContext(),usersList);
            mUsersListView.setHasFixedSize(true);
            mUsersListView.setLayoutManager(new LinearLayoutManager(container.getContext()));
            mUsersListView.setAdapter(usersRecyclerAdapter);
            return view;
        }





        @Override
        public void onStart() {
            super.onStart();
            String user_id;
            mAuth=FirebaseAuth.getInstance();
            user_id=mAuth.getCurrentUser().getUid();
            mFirestore=FirebaseFirestore.getInstance();
           //String and=mFirestore.collection("Users").getId();
           //TextView t= (TextView)findViewById(R.id.user_list_name);
           //t.setText(and);
           mFirestore.collection("Users").addSnapshotListener(ListAllHelperActivity.this,new EventListener<QuerySnapshot>() {
                @Override
                public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
                    for (DocumentChange doc: documentSnapshots.getDocumentChanges()) {
                        if (doc.getType() == DocumentChange.Type.ADDED) {
                            Users users = doc.getDocument().toObject(Users.class);
                            usersList.add(users);
                            usersRecyclerAdapter.notifyDataSetChanged();
                        }
                    }
                }
            });
        }
    }

users recycler adapter.Java

public class UsersRecyclerAdapter extends 
RecyclerView.Adapter<UsersRecyclerAdapter.ViewHolder> {
    private List<Users> usersList;
    private Context context;

    public UsersRecyclerAdapter(Context context,List<Users>usersList)
    {
        this.usersList=usersList;

        this.context=context;
    }
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.user_list_item,parent,false);


        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
                holder.user_name_view.setText(usersList.get(position).getName());
                CircleImageView user_image_view=holder.user_image_view;
                Glide.with(context).load(usersList.get(position).getImage()).into(user_image_view);

    }

    @Override
    public int getItemCount() {
        return usersList.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {
        private View mView;
        private CircleImageView user_image_view;
        private TextView user_name_view;


        public ViewHolder(View itemView) {
            super(itemView);
            mView=itemView;
            user_image_view=(CircleImageView)mView.findViewById(R.id.user_list_image);
            user_name_view=(TextView)mView.findViewById(R.id.user_list_name);

        }
    }
}

请帮我解决这个问题。谢谢

android
1个回答
0
投票

取消注释

// usersList = new ArrayList <>();

© www.soinside.com 2019 - 2024. All rights reserved.