gpt4 book ai didi

android - ListView 内的可聚焦 EditText

转载 作者:IT老高 更新时间:2023-10-28 13:00:36 24 4
gpt4 key购买 nike

到目前为止,我已经在这方面花费了大约 6 个小时,并且遇到的只是障碍。一般的前提是 ListView 中有一些行(无论它是由适配器生成的,还是作为标题 View 添加的)包含一个 EditText 小部件和一个 按钮。我想要做的就是能够使用慢跑球/箭头,将选择器导航到像正常一样的单个项目,但是当我到达特定行时——即使我必须明确标识该行——具有焦点 child ,我希望那个 child 获得焦点,而不是用选择器指示位置。

我尝试了很多可能性,但到目前为止都没有运气。

布局:

<ListView
android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>

标题 View :

EditText view = new EditText(this);
listView.addHeaderView(view, null, true);

假设适配器中还有其他项目,使用箭头键将在列表中向上/向下移动选择,如预期的那样;但是当到达标题行时,它也与选择器一起显示,并且无法使用慢跑球将焦点放在 EditText 中。注意:点击 EditText 会将其聚焦在该点上,但这依赖于触摸屏,这不是必需的。

ListView在这方面显然有两种模式:
1. setItemsCanFocus(true):选择器从不显示,但EditText可以在使用箭头时获得焦点。焦点搜索算法难以预测,并且没有视觉反馈(在任何行上:是否有可聚焦的子项)选择了哪个项目,这两者都可以给用户带来意想不到的体验。
2. setItemsCanFocus(false):选择器总是在非触摸模式下绘制,EditText永远无法获得焦点——即使你点击它。

更糟糕的是,调用 editTextView.requestFocus() 返回 true,但实际上并没有给 EditText 焦点。

我所设想的基本上是 1 和 2 的混合体,如果 所有 项是否可聚焦,而不是列表设置,我想为 单个 列表中的项目,以便选择器从为不可聚焦的项目选择整行到遍历包含可聚焦子项目的项目的焦点树无缝转换。

有接受者吗?

最佳答案

这对我有帮助。
在您的 list 中:

<activity android:name= ".yourActivity" android:windowSoftInputMode="adjustPan"/>

关于android - ListView 内的可聚焦 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com