当我在显示对话框时旋转设备时,我的活动将被重新创建,对话框将被取消。每次用户旋转设备时,是否需要再次显示对话框?
答案 0 :(得分:3)
旋转设备时,您的活动会重新启动。您可以通过将其添加到清单中的应用程序部分来停止此操作:
android:configChanges="orientation|keyboardHidden"
答案 1 :(得分:3)
弗拉维奥,
您可以通过在AndroidManifest.xml中添加以下内容来阻止在方向更改时重新创建活动:
<activity android:configChanges="keyboardHidden|orientation" android:name="YourActivity"/>
然后您需要在代码中覆盖以下方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
答案 2 :(得分:0)
Flavio:我无法使用alertDialogs或自定义对话框重新定义问题行为。你在使用onCreateDialog和showDialog(int id)?根据文档“如果你使用showDialog,对话框将自动保存和恢复。这是我的经验。
甚至可以使用editText小部件创建XML布局,使布局膨胀,并且editText中的状态将在方向更改时自动保存。
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();