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