Ошибка в logcat для RecyclerView setLayoutManager

Я получаю ошибку в mRecyclerView.setLayoutManager(layoutManager);

Ниже приведена ошибка logcat, появляющаяся при входе в действие:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference at com.example.lenovo.skanda.QuoteList.onCreate(QuoteList.java:36)

QuoteList.java

public class QuoteList extends AppCompatActivity {

    private StorageReference storageRef;

    RecyclerView  mRecyclerView;
    FirebaseDatabase mFirebaseDatabase;
    DatabaseReference mReference;

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

        //ActionBar actionBar = getSupportActionBar();
        //getSupportActionBar().setTitle("Quotes");
        //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        //getSupportActionBar().setHomeButtonEnabled(true);

        final LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        mRecyclerView.setLayoutManager(layoutManager);

        mRecyclerView = findViewById(R.id.recyclerViewQuote);
       // mRecyclerView.setHasFixedSize(true);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));

        mFirebaseDatabase = FirebaseDatabase.getInstance();
        mReference = mFirebaseDatabase.getReference("Quotes");
    }





    @Override
    protected void onStart() {
        super.onStart();

        FirebaseRecyclerAdapter<Quote, QuoteViewHolder> firebaseRecyclerAdapter =
                new FirebaseRecyclerAdapter<Quote, QuoteViewHolder>(
                        Quote.class,
                        R.layout.quote_row,
                        QuoteViewHolder.class,
                        mReference
                ) {

                    @Override
                    protected void populateViewHolder(QuoteViewHolder viewHolder , Quote model , int position) {

                     //   viewHolder.setDetails(getApplicationContext(), model.getQuotes(), model.getQuote_Author(), model.getImages());
                            viewHolder.setQuotes(model.getQuotes());
                            viewHolder.setQuoteAuthor(model.getQuote_Author());


                    }
                };

        mRecyclerView.setAdapter(firebaseRecyclerAdapter);

    }

    public static class QuoteViewHolder extends RecyclerView.ViewHolder{

        View mView;

        public QuoteViewHolder(View itemView) {
            super(itemView);

            mView = itemView;
        }

        public void setQuotes(String Quote){
            TextView post_quote = (TextView) mView.findViewById(R.id.post_quote);
            post_quote.setText(Quote);
        }

        public void setQuoteAuthor(String QuoteAuthor){
            TextView post_quoteAuthor = (TextView) mView.findViewById(R.id.post_author);
            post_quoteAuthor.setText(QuoteAuthor);
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.main_menu, menu);
        return super.onCreateOptionsMenu(menu);
    }
}

Пожалуйста, помогите мне.

Вы устанавливаете Диспетчер макетов два раза. Я думаю, это причина показывает ошибку

Shohel Rana 04.11.2018 09:18

Удалите ниже Код: final LinearLayoutManager layoutManager = new LinearLayoutManager (this); layoutManager.setOrientation (LinearLayoutManager.VERTICAL); mRecyclerView.setLayoutManager (layoutManager);

Shohel Rana 04.11.2018 09:20
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
302
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Ваш RecyclerView еще не назначен, поменяйте местами:

mRecyclerView = findViewById(R.id.recyclerViewQuote);
mRecyclerView.setLayoutManager(layoutManager);

Пожалуйста, напишите такой код, вам сначала нужно инициализировать recyclerview перед Linear Layout Manager.

 mRecyclerView = findViewById(R.id.recyclerViewQuote);

 final LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    mRecyclerView.setLayoutManager(layoutManager);

Спасибо, дружище .. Большое спасибо за помощь :)

itz Prateek 04.11.2018 10:02

Самый добро пожаловать, Пратик

Vishal Sharma 04.11.2018 11:22

Можете ли вы решить эту проблему. ссылка

itz Prateek 04.11.2018 11:27

Это происходит, когда LinearLayout не может найти RecyclerView в вашем макете. Вы должны добавить RecyclerView в свой файл макета, где будут отображаться списки, или же созданный RecyclerView был ошибочно упомянут, когда не упоминалось использование findViewById(R.id.recyclerviewID) или RecyclerView.

Другие вопросы по теме

Похожие вопросы

Как отменить SelectionSort для отображения в порядке убывания?
Как дать JList идентификатор и имя?
Мне нужна TreeMap, в которой ключ будет идентификатором и значением (будет hasMap в этом имени будет идентификатором, а значения будут деталями отдыха) для всех данных идентификатора?
Как получить доступ к значению свойства в аннотации?
Как установить путь к классам Java в коде Visual Studio (v 1.27.2)?
Android, как я могу проверить, что пользователь вошел в систему или вышел из системы с помощью общих настроек
Неверный тип возвращаемого значения в ссылке на метод: невозможно преобразовать response.core.publisher.Mono <S> в response.core.publisher.Mono <? расширяет R>
Как извлечь поле из API книг Google с помощью GSON и Jsoup
IllegalTransactionStateException Обнаружено предварительно привязанное соединение JDBC при настройке нескольких источников данных
Maven генерирует фактический jar как .jar.original вместо файла .jar