0

我正在使用该CrossUI.Droid.Dialog项目在 Droid 平台中创建一个新的对话框视图。我还使用了 MvvmCross 框架提供的绑定。

这是我在 Droid 视图中创建和绑定对话框的代码:

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        DroidResources.Initialise(typeof(Resource.Layout));

        Root = new RootElement()
            {
                new Section("Private Configuration")
                    {
                        new EntryElement("Name:").Bind(this, "{'Value':{'Path':'Configuration.Name'}}"),
                        new EntryElement("Description:").Bind(this, "{'Value':{'Path':'Configuration.PrivateDescription'}}"),
                        new BooleanElement("Active?").Bind(this, "{'Value':{'Path':'Configuration.Active'}}")
                    },
                new Section("Display Configuration")
                    {
                        new StringElement("Header Title")
                            {
                                Click = (o, e) => GoToHeaderTitleActivity(),
                                LayoutName = "dialog_rootNavigate"
                            }
                    }
            };
    }

当我运行应用程序时,会显示对话框并且绑定是正确的。

我遇到的问题是,当我尝试在其中一个 EntryElement 中写东西时,焦点就转移到了其他地方……这仅在我启用了“文本预测”时才会发生。

我已经检查了Android.Dialog中的示例,一切似乎都很好。

我正在使用带有 ICS 4.0 的 Galaxy Tab 2 7.0

有人遇到这个问题吗?

4

1 回答 1

0

找到答案了!!

显然,Android 中存在一个已知问题,即 EditText 控件和 ListView 无法正常播放。这不是 MvvmCross 或 Monodroid.Dialog 的问题。

为了克服这个问题(我猜这是它存在的原因?)在MvxLinearDialogActivity使用对话框开发表单时使用。问题立即消失。

正如课堂上的评论所说:

DialogActivity 基于线性视图,这将解决所有与编辑文本相关的焦点问题,例如在 ListView 内的 Focusable EditText上使用元素建议时无济于事

于 2013-12-30T09:35:06.590 回答