【发布时间】:2013-08-17 17:12:31
【问题描述】:
使用MvvmCross,我想知道如何在Android Fragments中使用Android.Dialog。
在 iOS 上,我们可以只添加一个 DialogViewController 的实例作为父视图控制器的子视图:
var Dialog = new DialogViewController (root);
viewController.AddChildViewController (Dialog);
viewController.View.AddSubview (Dialog.View);
是否可以写一些与Android相关的东西?也就是在运行时在Activity中添加Android.Dialog Fragment?
... 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
你们中的一些人是否实现了相关的东西?
提前感谢任何提示。
【问题讨论】:
标签: android-fragments xamarin.android mvvmcross