ошибка "Attempt to get length of null array"

В приложении 8 TextView и 8 EditText. При нажатии кнопки "настроить" (showbtn), TextView становятся невидимыми, EditText - видимыми. В поля вводится текст и после нажатия кнопки "сохранить"(savebtntext), введенный текст присваивается соответствующим TextView, сохраняется в файл и должен подгружаться при входе в activity.

Код:

public class PnDay extends Activity implements View.OnClickListener {
    TextView[] lessons;
    EditText[] editTexts;
    Button savebtntext, showbtn, pnbackbutton;
    SharedPreferences sPref;

    final String[] SAVED_TEXTS = {
            "saved_text",
            "saved_text2",
            "saved_text3",
            "saved_text4",
            "saved_text5",
            "saved_text6",
            "saved_text7",
            "saved_text8"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pnday);

        final EditText[] editTexts = {
                (EditText) findViewById(R.id.editText1),
                (EditText) findViewById(R.id.editText2),
                (EditText) findViewById(R.id.editText3),
                (EditText) findViewById(R.id.editText4),
                (EditText) findViewById(R.id.editText5),
                (EditText) findViewById(R.id.editText6),
                (EditText) findViewById(R.id.editText7),
                (EditText) findViewById(R.id.editText8)};

        final TextView[] lessons = {
                (TextView) findViewById(R.id.lesson1pn),
                (TextView) findViewById(R.id.lesson2pn),
                (TextView) findViewById(R.id.lesson3pn),
                (TextView) findViewById(R.id.lesson4pn),
                (TextView) findViewById(R.id.lesson5pn),
                (TextView) findViewById(R.id.lesson6pn),
                (TextView) findViewById(R.id.lesson7pn),
                (TextView) findViewById(R.id.lesson8pn)};

        showbtn = (Button) findViewById(R.id.showbtntext);
        showbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showbtn.setVisibility(View.INVISIBLE);
                savebtntext.setVisibility(View.VISIBLE);

                for (final EditText editText : editTexts) {
                    editText.setVisibility(View.VISIBLE);
                }

                for (final TextView textView : lessons) {
                    textView.setVisibility(View.INVISIBLE);
                }

                AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
                mSound2.play(mMelody, 1, 1, 1, 0, 1);
            }
        });
        savebtntext = (Button) findViewById(R.id.savebtntext);
        savebtntext.setOnClickListener(this);

        ConstLay = (ConstraintLayout) findViewById(R.id.ConstLay);
        pnrasp = (TextView) findViewById(R.id.pnrasp);
        final Bundle arguments = getIntent().getExtras();
        x = arguments.getInt("x");

        loadText();
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.savebtntext:
                saveText();
                showbtn.setVisibility(View.VISIBLE);
                savebtntext.setVisibility(View.INVISIBLE);
                for (final EditText editText : editTexts) {
                    editText.setVisibility(View.INVISIBLE);
                }
                for (final TextView textView : lessons) {
                    textView.setVisibility(View.VISIBLE);
                }
                AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
                mSound.play(mMelody, 1, 1, 1, 0, 1);
                loadText();
                break;
            default:
                break;
        }
    }

    void saveText() {
        sPref = getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor ed = sPref.edit();
        for (final EditText editText : editTexts) {
            for (final String SAVED_TEXT : SAVED_TEXTS) {
                ed.putString(SAVED_TEXT, editText.getText().toString());
            }
        }
        ed.commit();
    }

    void loadText() {
        sPref = getPreferences(MODE_PRIVATE);
        for (final String SAVED_TEXT : SAVED_TEXTS) {
            String savedText = sPref.getString(SAVED_TEXT, "");
            for (final TextView lesson : lessons) {
                lesson.setText(savedText);
                for (final EditText editText : editTexts) {
                    editText.setText(savedText);
                }
            }
        }
    }

Проблема возникает в loadText() в строке:

for (final TextView lesson : lessons) {

Из-за чего это происходит?


Ответы (0 шт):