所以我不是一个很有经验的Android程序员,所以请对我温柔:)
我正在尝试创建一个使用片段的应用程序,并从其中一个片段中调用自定义对话框。
//create dialog
final Dialog dialog = new Dialog(getActivity());
dialog.setCancelable(false);
dialog.setContentView(R.layout.fragment_update_dialog);
//set up data in dialog here
Button bUpdate = (Button) dialog.findViewById(R.id.bDialogUpdate);
bUpdate.setOnClickListener(new OnClickListener()
{
//define onclick listener code here
});
dialog.show();
这段代码运行良好,我对此没有任何问题。但是当屏幕方向发生变化时,我的对话框就会消失。
现在我已经阅读了这个论坛和其他地方的几篇文章,所以我明白为什么会发生这种情况,但我没有找到阻止它的解决方案。
我已经尝试过使用清单文件的“技巧”,但它不起作用。(也许是因为它在片段而不是活动中?)
我的清单文件包括;
<activity
android:name="com.mycompany.myapp.MainActivity"
android:configChanges="keyboardHidden|orientation"
....
在我的主要活动中,我有
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
setContentView(R.layout.activity_main);
}
但这不起作用。
我也看到很多评论说这个不推荐,但看不到如何解决这个问题。
谢谢你的帮助