NullPointerException异常在FirebaseRecyclerAdapter.startListening()

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

我有我的应用程序有问题。我想显示所有我的用户的名单和他们的详细资料(身份,电话号码),但我一直混得OnStart方法的空指针异常错误。这里是我的代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_customer_status);


...

    }

        @Override
        protected void onStart() {
            super.onStart();
            firebaseRecyclerAdapter.startListening();
            options =
                    new FirebaseRecyclerOptions.Builder<Users>()
                            .setQuery(mUserDbase, Users.class)
                            .build();
            firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(options) {
                @NonNull
                @Override
                public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                    View view = LayoutInflater.from(parent.getContext())
                            .inflate(R.layout.activity_customer_status, parent, false);

                    return new UsersViewHolder(view);
                }

                @Override
                protected void onBindViewHolder(@NonNull UsersViewHolder usersViewHolder, int i, @NonNull Users users) {
                    usersViewHolder.setName(users.getName());
                    usersViewHolder.setPhone(users.getPhone());
                    usersViewHolder.setStatus(users.getStatus());

                }

            };
            mUserList.setAdapter(firebaseRecyclerAdapter);

        }

    @Override
    protected void onStop() {
        super.onStop();
        firebaseRecyclerAdapter.stopListening();
    }

        // View Holder Class

    public static class UsersViewHolder extends RecyclerView.ViewHolder{

        View mView;

        public UsersViewHolder(View itemView) {
            super(itemView);
            mView = itemView;
        }

        public void setName (String name){
            TextView userNameView = (TextView) mView.findViewById(R.id.name_text);
            userNameView.setText(name);
        }
        public void setPhone (String phone){
            TextView userNameView = (TextView) mView.findViewById(R.id.phone_text);
            userNameView.setText(phone);
        }
        public void setStatus (String status){
            TextView userNameView = (TextView) mView.findViewById(R.id.status_text);
            userNameView.setText(status);
        }

    }

}

我已经遵循了这一问题:Error in FirebaseListAdapter.startListening(),这也解释了该活动的生命周期工作方式(的onCreate>在onStart>的onResume),所以假设(我是一个福利局)我把我上面的firebaseRecyclerAdapter我的起始码。我也遵循了这一question为指导,但它并没有帮助我满意。请帮忙

android firebase firebase-realtime-database
1个回答
0
投票

您正在使用初始化之前的指针firebaseRecyclerAdapter

  firebaseRecyclerAdapter = new FirebaseRecyclerAdapte(){...}; 
  firebaseRecyclerAdapter.startListening();
  mUserList.setAdapter(firebaseRecyclerAdapter);
© www.soinside.com 2019 - 2024. All rights reserved.