NullPointerException в FirebaseRecyclerAdapter.startListening () - PullRequest
0 голосов
/ 05 февраля 2019

У меня проблема с моим приложением.Я пытаюсь показать список всех моих пользователей и их данные (статус, номер телефона), но продолжаю получать сообщение об ошибке исключения нулевого указателя в методе 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);
        }

    }

}

Я следил за этим вопросом: Ошибка в FirebaseListAdapter.startListening () , которая объясняет, что жизненный цикл действия работает как (onCreate> onStart> onResume), при условии, что (я новичок), я поместил свой код запуска выше моего firebaseRecyclerAdapter.Я также следовал этому вопросу в качестве руководства, но он мне тоже не помог.Пожалуйста, помогите

1 Ответ

0 голосов
/ 05 февраля 2019

Вы используете указатель firebaseRecyclerAdapter перед его инициализацией.

  firebaseRecyclerAdapter = new FirebaseRecyclerAdapte(){...}; 
  firebaseRecyclerAdapter.startListening();
  mUserList.setAdapter(firebaseRecyclerAdapter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...