【问题标题】:CrossUI.Droid.Dialog EntryElement loses focus with text predictionCrossUI.Droid.Dialog 条目元素因文本预测而失去焦点
【发布时间】:2013-12-30 17:35:06
【问题描述】:

我正在使用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

有人遇到过这个问题吗?

【问题讨论】:

  • "有人遇到过这个问题吗?"对于 StackOverflow 来说不是一个很好的问题——最好问“我怎样才能阻止 TextView 失去焦点?”。此外,我不确定这个问题是否与 mvvmcross 或 Dialog 有关 - 看起来它通常更多地与 TextView 相关 - 也许更好地将这个问题作为一个关于 Android TextViews 的问题而不是像“mvvmcross”和“android-”这样专门的问题对话”。例如“在一个失去焦点的情况下,我有一个 Android TextView,我该如何阻止它发生?”祝你好运!
  • 我遇到了完全相同的问题。你找到解决办法了吗?
  • 我在 droid.dialog 中添加了一些调试,当您尝试选择 TextEdit 时会发生这种情况:gist.github.com/wayne-o/8179431 我想这就是我们失去焦点的原因?
  • 我可以确认,当您在触摸对话框上选择文本编辑时不会发生这种情况。
  • 我还可以确认这发生在 Sony Experia E 和我的 HTC 感觉上。在 GenyMotion(我猜是模拟器)上它仍然会发生,但文本视图不会失去焦点 - 我猜是因为它有资源来处理所有 getview 调用并且不会丢失轨道?我不确定,但这使得 droid.dialog 的东西非常不可用。我正在努力寻找解决办法,但如果有人能提供帮助,我将不胜感激。

标签: autocomplete focus xamarin.android android-dialog mvvmcross


【解决方案1】:

找到答案了!!

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

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

正如课堂上的评论所说:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 2012-03-31
    • 2019-03-18
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2017-09-14
    相关资源
    最近更新 更多