屏幕方向改变时,AlertDialog被破坏

时间:2012-10-03 07:31:54

标签: android screen-orientation android-alertdialog

在我的应用程序中,我正在显示一个警告对话框,当屏幕方向改变时它会关闭。怎么解决这个?我的代码如下。

private void showDialogue() {
    AlertDialog.Builder alert = new AlertDialog.Builder(MyClass.this);
    alert.setTitle("Title");
    alert.setIcon(R.drawable.icon);
    LayoutInflater inflater = (LayoutInflater)MyClass.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.dialogue, null, false);
    EditText from= (EditText)view.findViewById(R.id.from);
    EditText to= (EditText)view.findViewById(R.id.to);
    from.setHint("eg : From");
    to.setHint("eg : To");
    alert.setView(view);
    searchAlert = alert.create();
    searchAlert.show();
}

2 个答案:

答案 0 :(得分:0)

这是正常的,因为Activity被销毁并再次创建。你可以看到这个问题Android - Dealing with a Dialog on Screen Orientation change它应该有所帮助。

答案 1 :(得分:0)

当方向发生变化时,活动将被销毁并再次创建。

要了解活动的生命周期,请查看此视频: http://www.youtube.com/watch?v=fL6gSd4ugSI -Android基本视频2。

然后你应该弄清楚如何保存信息包并在调用活动创建时重新初始化它。

这些都可以在文档中找到。