Ошибка NullPointerException в CardView [дубликат]

115
04 декабря 2020, 14:00
На этот вопрос уже даны ответы здесь:
Что такое Null Pointer Exception и как его исправить? (4 ответа)
Закрыт 1 год назад.
public class ScrollingActivitySalads extends AppCompatActivity {
...
public class RVAdapterSalads extends RecyclerView.Adapter<RVAdapterSalads.CardViewHolder> {
    public class CardViewHolder extends RecyclerView.ViewHolder {
        TextView dishName = (TextView) itemView.findViewById(R.id.dish_name);
        TextView  dishConsist = (TextView) itemView.findViewById(R.id.dish_consist);
        ImageView dishPhoto = (ImageView) itemView.findViewById(R.id.dish_photo);
        int currentCardPosition;
        Context mContext;
        String allDishes = "";
        CardView cardView = (CardView) itemView.findViewById(R.id.cv);
        CardViewHolder(View itemView, Context context) {
            super(itemView);
            mContext = context;
            cardView.setOnClickListener(new View.OnClickListener() {
                @Override public void onClick(View v) {
                    if(mContext instanceof ScrollingActivitySalads){
                        ((ScrollingActivityHots)mContext).showSnackbar(currentCardPosition+1);
                        allDishes += "dishName";
                        allDishes += "/n";
                    }
                }
            });
            intent.putExtra("allSalads", allDishes);//error
        }
    }....

В отмеченном месте выдается ошибка NullPointerException. Заметил, что задний фон переменных allDishes, если на нее щелкнуть, у всех красный, а у переменной в отмеченной строке зеленый. Возможно, внутри putExtra воспринимается другая переменная? Как исправить?

Answer 1

Переменные сложных типов, классы, например String, или Intent, для которых мы не попросили памяти при помощи слов new Intent();, либо new (класс, который является наследником Intent);, по умолчанию указывают на null, это особый тип данных, поэтому и выскакивает NullPointerException. Напишите Intent intent = new Intent(); и сможете без проблем вызывать методы этого класса.

READ ALSO
Календарь, меняющий месяца и годы

Календарь, меняющий месяца и годы

По заданию нужно сделать календарь и стилизовать его с помощью jsУ меня не выходит перекрасить выходные в тёмно-серый

126
Ошмбка в javascript

Ошмбка в javascript

Раньше всё работало нормально, и тут не понятно из за чего ввылезает ошибка

120
Как правильно проситроить объекст javascript?

Как правильно проситроить объекст javascript?

Пишу на React приложениеЕсть состояние, в котором следующее поле panelClassesActive, это объект, который содержит данные об активных элементах

131
Как реализовать простую очередь в NodeJS?

Как реализовать простую очередь в NodeJS?

Допустим, у нас есть 10 задач, которые нужно выполнить параллельно, но оперативной памяти (osfreemem()) хватает только на 7

125