使用 MvvmCross,我想知道如何Android.Dialog
在 Android Fragments 中使用。
在 iOS 上,我们可以添加一个实例DialogViewController
作为父视图控制器的子视图:
var Dialog = new DialogViewController (root);
viewController.AddChildViewController (Dialog);
viewController.View.AddSubview (Dialog.View);
是否可以写一些与Android相关的东西?也就是说,在运行时在 Activity 中添加 Android.Dialog 片段?
... OnCreate (Bundle bundle) {
...
var Dialog = new DialogListFragment ();
Dialog.Root = root;
var transaction = FragmentManager.BeginTransaction ();
transaction.Replace (Resource.Id.DialogFrame, Dialog);
transaction.Commit ();
我刚刚尝试了上面的代码,它可以编译,但在运行时失败:
[Android.Dialog] LoadLayout failed: You must call DroidResources.Initialise(Resource.Layout) before using Dialogs
最后,当将相同的根元素添加到 MvxDialogActivity 的实例时,它可以正常工作。
DialogListFragment 源码:https ://github.com/slodge/MvvmCross/blob/fffe39c9e3a9eae24e55fdf58cf6f84d71a4654d/CrossUI/CrossUI.Droid/Dialog/DialogListFragment.cs
你们中的一些人是否实施了相关的东西?
提前感谢您的任何提示。