Страница 1 из 1

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

Добавлено: 13 апр 2015, 18:09
TemMax
Получаю вот такую ошибку при повороте:

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

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;
    }

}

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

Добавлено: 22 апр 2015, 16:10
ANdriy123456
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

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

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

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

Добавлено: 27 апр 2015, 10:41
Mikhail_dev
Покажите как создаётся адаптер

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

Добавлено: 27 апр 2015, 10:44
Mikhail_dev
Вот что нашел на 4pda
Изображение

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