gpt4 book ai didi

android - ListView 中的焦点问题 EditText 在 Android 的对话框中显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:49 26 4
gpt4 key购买 nike

我必须在 Dialog 上显示包含 EditText 的 ListView,用户可以在其中键入 EditText 中的文本,并且其内容不应丢失。

例如,我在 ListView 中有 10 个 EditText,如果用户在第一个 EditText 中键入“11”,在第二个 EditText 中键入“22”,在第三个 EditText 中键入“33”,然后在用户滚动后在第十个 EditText 处向下滚动 ListView 在第一个 EditText 再次向上,那时第一个 EditText 的值应该是“11”,第二个 EditText 的值应该是“22”等等,我通过在 EditText 中更改文本时设置 EditText 来实现这一点。

我使用 NiftyDialog 作为对话框 ( Link )。问题是 EditText 随机获得焦点(有时有效,有时无效)。

我已经设置了

android:descendantFocusability="afterDescendants"

在ListView中设置

android:windowSoftInputMode="adjustPan"

在 list 文件中,但它无法正常工作。

这可能是什么问题?

最佳答案

我不久前遇到了这个问题,关注 EditText 并意识到仅在现有 View 上设置属性是行不通的。就我而言,这是为了避免键盘弹出,但我相信,同样的解决方案也适用于您的情况。

在所有其他 View 之上添加一个带有 android:focusable="true"android:focusableInTouchMode="true" 的虚拟布局。这样,焦点将转到此布局(位于顶部),并且 ListView 中的 EditText 的随机焦点问题将得到解决。

    <!-- Stop auto focussing the EditText -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/transparent"
android:focusable="true"
android:focusableInTouchMode="true">
</LinearLayout>

关于android - ListView 中的焦点问题 EditText 在 Android 的对话框中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34488713/

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