我并不是非常有经验的安卓程序员,所以请对我温柔点 :)
我正在尝试创建一个应用程序,使用片段并且在其中一个片段中调用自定义对话框。
//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);
}
但这并不起作用。
我也看到很多评论说这不被推荐,但是看不到如何解决这个问题。
感谢您的帮助。