【发布时间】: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