手動で保存されたインスタンスの状態を使用して、そうしなければなりません。 Helloを保存するだけではありません。これは非常に一般的な使用例です。ユーザーが何かを入力した後、電話機を回転させるとします。何らかの理由でテキストが消えた場合、ユーザーはすべてを入力する必要があります。だからあなたはどこかにテキストを保存しなければならない。
https://developer.android.com/guide/topics/resources/runtime-changes.html
それでは、あなたがしなければならないことは次のとおりです。
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//Here savedStateValue is a global string
savedStateValue = //Get the Text From Edit Text here;
outState.putString("savedStateKEY", savedStateValue);
}
とのonCreateで、このような何か:
if (savedInstanceState != null) {
//Restore the Text to EditText
editText.setText(savedInstanceState.getString("savedStateKEY"));
}
EDIT 2番目の部分はあるがなぜそれが起こっているのですか?これは、 "Hello"テキストを削除し、画面の向きが変更されたため、初期状態から渡されたBundleからデータを復元しているためです。そのバンドルには、手動で削除したため、「Hello」はありません。あなたは
android:saveEnabled="false"
を使用している場合 だから次に、あなたはのEditText内の任意の状態を保存しないようにアンドロイドを作っています。
あなたはmanifest.xmlにして、あなたの活動に何らかのフラグを追加しましたを使用する必要がありますか? –
いいえAndroidStudioに空のアクティビティを作成しましたが、xmlレイアウトは追加のプロパティ(ID、レイアウト幅、レイアウトの高さのみ)なしでこのEditTextだけで構成されます – jreft56
レイアウトファイルではなくManifest.xmlについて質問しています –