2011-03-16 87 views

回答

3

当您旋转设备时,您的活动将重新启动。您可以在清单中添加以下内容到应用部分停止此:

android:configChanges="orientation|keyboardHidden" 
+0

如果我的活动转到后台一些(例如,通过点击回家)并被杀死由操作系统编辑?我想在用户返回时保持显示的对话框。 – 2011-03-16 20:12:57

+2

您应该使用应用程序生命周期的各种函数(onPause,onDestroy等)来设置布尔值,并且在调用onReturn等时检查此布尔值并重新启动对话框。 – Nanne 2011-03-16 20:13:58

+0

这是我想到的解决方案,但我不太喜欢它。我认为Android有更好的方式来处理它。 – 2011-03-16 20:17:27

3

弗拉维奥,

您可以通过添加在你的AndroidManifest.xml以下防止自己的活动从方位的变化正在重建:

<activity android:configChanges="keyboardHidden|orientation" android:name="YourActivity"/>

然后,你需要重写下面的方法在你的代码:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
} 
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(); 

我有代码herehere与屏幕捕获,演示alertDialog对方向变化的持久性和自定义对话框

相关问题