Android - сохранить текст textedit после изменения ориентации - edittext не найден

Я получаю NullPointerException для строки editText.setText(buttonText);, поэтому похоже, что мой editText уничтожается после изменения ориентации. Я знаю жизненный цикл активности, но не знаю, где разместить объявление editText.

Тем не менее, buttonText заполнен правильно.

Мои занятия:

package com.example.orientation;

import android.support.v4.app.FragmentActivity;
import android.util.Log;

import java.io.OutputStream;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;
import android.widget.EditText;

@SuppressLint("NewApi")
public class MainActivity extends FragmentActivity {
    EditText editText;
    String buttonText = "";

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

        Log.d("StateInfo", "onCreate");

        editText = (EditText) findViewById(R.id.txtField1);

        if (savedInstanceState != null) {
            editText.setText(buttonText);
        }
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        outState.putString("buttonId", editText.getText().toString());

        super.onSaveInstanceState(outState);
    };

    public void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);

        buttonText = savedInstanceState.getString("buttonId");
        //editText.setText(buttonText);
    };

}

XML:

<EditText
        android:id="@+id/txtField1"
        android:inputType="text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

EDIT: Отсортировано! У меня был другой макет для альбомной ориентации, и в этом XML у меня не было элемента EditText.


person divix    schedule 31.10.2015    source источник
comment
Возможный дубликат EditText не сохраняется автоматически при изменении ориентации экрана   -  person Mohamed    schedule 31.10.2015
comment
Нет, ссылка выше описывает идею: buttonText из моего кода, в моем примере это editText, который равен нулю.   -  person divix    schedule 31.10.2015
comment
Удалите editText.setText(buttonText); из onRestoreInstanceState.   -  person Dhaval Patel    schedule 31.10.2015
comment
Тем не менее, исключение выдается в строке: 40, которая является методом setText() в методе onCreate().   -  person divix    schedule 31.10.2015
comment
отметьте buttonText!= null вместо savedInstanceState != null   -  person Dhaval Patel    schedule 31.10.2015
comment
buttonText установлен правильно, это editText, который имеет значение null   -  person divix    schedule 31.10.2015
comment
Ошибка возникает только при повороте экрана?   -  person Dhaval Patel    schedule 31.10.2015
comment
То есть правильно, только когда меняю ориентацию.   -  person divix    schedule 31.10.2015
comment
У вас есть разные XML-файлы макета для портретного и ландшафтного режимов?   -  person Fer    schedule 31.10.2015
comment
Ах да, я сделал, и кнопки не было на том втором макете. Теперь все в порядке, спасибо!   -  person divix    schedule 31.10.2015