Вылет приложения при повороте экрана

Интерфейс, диалоги, темы, стили, меню
Ответить
TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Вылет приложения при повороте экрана

Сообщение TemMax » 13 апр 2015, 18:09

Получаю вот такую ошибку при повороте:

Код: Выделить всё

Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
Ошибка в такой строке моего адаптера:

Код: Выделить всё

inflater = LayoutInflater.from(context);
Полный код адаптера:

Код: Выделить всё

package temdev.ru.mshrc;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

import temdev.ru.mshrc.parse.Schedule;

public class ListViewAdapter extends BaseAdapter {

    // Объявляем переменные
    Context context;
    LayoutInflater inflater;
    private List<Schedule> schedulelist = null;
    private ArrayList<Schedule> arraylist;

    public ListViewAdapter(Context context, List<Schedule> schedulelist) {
        this.context = context;
        this.schedulelist = schedulelist;
        inflater = LayoutInflater.from(context);
        this.arraylist = new ArrayList<Schedule>();
        this.arraylist.addAll(schedulelist);
    }

    public class ViewHolder {
        TextView TimeStart;
        TextView Subject;
        TextView Lecturer;
    }

    @Override
    public int getCount() {
        return schedulelist.size();
    }

    @Override
    public Object getItem(int position) {
        return schedulelist.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    public View getView(final int position, View view, ViewGroup parent) {
        final ViewHolder holder;
        if (view == null) {
            holder = new ViewHolder();
            view = inflater.inflate(R.layout.lesson, null);
            // Находит TextViews в lesson.xml
            holder.TimeStart = (TextView) view.findViewById(R.id.time_lesson);
            holder.Subject = (TextView) view.findViewById(R.id.lesson_name);
            holder.Lecturer = (TextView) view.findViewById(R.id.lecturer_name);
            view.setTag(holder);
        } else {
            holder = (ViewHolder) view.getTag();
        }
        // Вставляем результаты TextViews
        holder.TimeStart.setText(schedulelist.get(position).getTimeStart());
        holder.Subject.setText(schedulelist.get(position).getSubject());
        holder.Lecturer.setText(schedulelist.get(position).getLecturer());

        return view;
    }

}

ANdriy123456
Сообщения: 138
Зарегистрирован: 27 июн 2014, 01:41

Re: Вылет приложения при повороте экрана

Сообщение ANdriy123456 » 22 апр 2015, 16:10

inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

TemMax
Сообщения: 66
Зарегистрирован: 27 окт 2013, 13:46

Re: Вылет приложения при повороте экрана

Сообщение TemMax » 27 апр 2015, 01:24

не помогло(
Действие происходит во фрагменте. Может это как-то связано? Думаю, что надо что-то с onAttach() делать, но не могу додуматься, что именно. Прошу о помощи


Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Вылет приложения при повороте экрана

Сообщение Mikhail_dev » 27 апр 2015, 10:44

Вот что нашел на 4pda
Изображение

Скорее всего и у вас там, т.е. создаёте наверное в onCreate фрагмента, а надо создавать в методе либо onStart, либо onActivityCreated. Я бы рекомендовал создавать во втором

Ответить