在Android应用程序纵向模式下更改横向模式我的EditText值清除
答案 0 :(得分:1)
当发生旋转时,活动总是重新启动。
所以请记住这一点,在从纵向旋转到横向时保持变量,反之亦然。
答案 1 :(得分:1)
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();
希望有所帮助。