Android列表-列表标题中的编辑文本

标签 android focus xamarin.android android-edittext listactivity

我在 Monodroid 中有一个列表,它有一个带有 EditText 的标题。问题是 EditText 没有正确获得焦点。这是它的工作原理:

  1. 如果您触摸 EditText,键盘会正确出现,但如果您按任意键,则没有任何反应。
  2. 使用后退按钮隐藏键盘
  3. 如果您再次触摸 EditText,它会正常工作

我尝试调试它,第一次 FocusChange 事件触发了两次,第一次是 HasFocus = true,第二次是 HasFocus = false.

有什么建议我做错了吗?

更新

解决了我的问题:

我在 XML 中将其设置为我的 ListView:

android:descendantFocusability="afterDescendants"

然后在代码中添加到我的 ListView:

ListView.ItemsCanFocus = true;

这是我的 EditText:

android:focusableInTouchMode="true"
android:focusable="true"

瞧,它就像一个魅力。谢谢布拉德利!

最佳答案

我建议将 EditText 放在布局 xml 中的 ListView 上方,而不是将其添加到标题中。

我以前遇到过这种情况,并且永远无法从单一解决方案中获得 100% 的可靠性。如果暴力方法是唯一的解决方案,请尝试 ListView 对象上以下属性的不同组合:DescendantFocusability、ItemsCanFocus、Focusable。

关于Android列表-列表标题中的编辑文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809703/

相关文章:

android - Fabric.io Twitter 凭证安全

java - 构建 jar 时.requestFocusInWindow() 不起作用

C# 将焦点放在按钮上/使其处于事件状态

reactjs - React 输入失去了对变化的关注

java - 如何解决 Android Studio 中原始文件夹的问题?

java - 如何从另一个 Activity 访问变量

ios - Xamarin.Forms 如何在 Android 和 iOS 上添加应用评​​分?

未找到 Android Mono '/data/data/Mono.Android.DebugRuntime/lib/libmonosgen-2.0.so'

c# - 适用于 Mono Android 和 MonoTouch 的绘图/图形库

android - Firebase 数据库监听器不能在带有 wifi 的 android 上工作