【问题标题】:Android prevent listview changing selected item when gaining focusAndroid防止列表视图在获得焦点时更改所选项目
【发布时间】:2014-05-29 07:10:03
【问题描述】:

我正在设计一个主要通过键盘控制的 Android 应用程序。

在此应用程序中,有两个彼此相邻的列表视图。但是,当焦点在列表视图之间发生变化时,新列表视图中的选择会更改为最接近旧列表视图中选择的项目 - 我不希望所选项目发生变化,直到用户随后在键盘。

例子:

列表 A 未聚焦,选择了项目 3。 列表 B 当前具有焦点,并且在此列表视图中项目 B 当前处于选中状态。

目前,如果用户在键盘上按下“左”键,列表 A 将获得焦点,并且项目 2 将被选中 - 因为它最接近列表 B 中当前选定的项目。我想要的是列表 A 保留获取焦点时为当前选中项,与List B中选中的位置无关。

【问题讨论】:

    标签: android listview focus


    【解决方案1】:

    这样您就可以记住两个列表中的必要位置并更改此具体项目的背景。并重新定义public boolean onKeyDown(int keyCode, KeyEvent event)
    所以如果你需要我应该写代码

    【讨论】:

    • 我已经尝试为 listview b 设置 onKeyListener,但这似乎没有触发。知道为什么吗?我无法在我的活动中全局执行此操作,因为我正在使用片段。
    • 没关系 - 我将听众附加到错误的视图:) 我希望有更好的方法来实现我想要的,但似乎没有所以我接受你的回答。
    猜你喜欢
    • 2011-01-23
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2020-10-31
    • 2012-09-18
    相关资源
    最近更新 更多