Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android应用程序纵向模式下更改横向模式时,我的EditText值是清晰的_Android - Fatal编程技术网

在Android应用程序纵向模式下更改横向模式时,我的EditText值是清晰的

在Android应用程序纵向模式下更改横向模式时,我的EditText值是清晰的,android,Android,在Android应用程序纵向模式下,要更改横向模式,当发生旋转时,我的EditText值为Clear,活动始终重新启动 因此,请记住这一点,在从纵向旋转到横向时保留变量,反之亦然。EditText应自动保存方向更改时的文本值。我可以想出两个理由来解释它为什么会被清除: 1您正在实现onSaveInstanceState,但未能调用super.onSaveInstanceState 2 editText没有有效ID。没有有效ID的editText的一个示例是通过编程创建的editText,例如将e

在Android应用程序纵向模式下,要更改横向模式,当发生旋转时,我的EditText值为Clear

,活动始终重新启动


因此,请记住这一点,在从纵向旋转到横向时保留变量,反之亦然。

EditText应自动保存方向更改时的文本值。我可以想出两个理由来解释它为什么会被清除:

1您正在实现onSaveInstanceState,但未能调用super.onSaveInstanceState 2 editText没有有效ID。没有有效ID的editText的一个示例是通过编程创建的editText,例如将editText添加到AlertDialog。这可以通过创建一个简单的布局来解决,如中所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
<EditText android:text="Stateful"
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>
</LinearLayout>
AlertDialog.Builder builder= new AlertDialog.Builder(this);
LayoutInflater inflater= getLayoutInflater();
final View myView= inflater.inflate(R.layout.alert_dialog_text_entry, null);
builder.setTitle("About");
builder.setMessage(alertMessage+"Version: "+versionName);
builder.setView(myView);
AlertDialog alert= builder.create(); 
希望有帮助