【问题标题】:Android ListView programmatic selection/highlightAndroid ListView 程序化选择/高亮
【发布时间】:2023-03-05 17:27:02
【问题描述】:

我有一个简单的 listview 和 listadapter 设置如下:

listAdapter = new ArrayAdapter<MyDomainObject>(this, android.R.layout.simple_list_item_1, listOfDomainObjects);
listView.setAdapter(listAdapter);

用户在列表中进行选择,将他们带到另一个活动。从新活动中,他们可以单击他们的选择,这会将他们返回到具有上述列表的活动。我想突出显示之前所做的选择。我目前找到匹配的列表条目并调用:

listView.setSelection(matchIndex);

这会将他们之前的选择带到列表顶部。是否可以突出显示(以默认橙色)先前的选择。我尝试了几种方法都没有运气。

【问题讨论】:

    标签: android listview


    【解决方案1】:

    你所拥有的一切都很好。然而,选择是否“突出显示”的确定取决于用户是否正在使用触摸屏。如果他们最近使用触摸屏而不是轨迹球/方向键/其他,则设备处于“触摸模式”并且不显示选择亮点。

    【讨论】:

    • 为什么不显示没有轨迹球/方向键的选择?这让我很困惑。你能找到解释的文档吗?
    • 啊...我以为我根据方法名称知道UI,但不明白为什么我无法控制选择或接收选择通知(手机上没有轨迹球或d/pad)测试)。我现在已经阅读了这一章,并且会经常复习。
    【解决方案2】:

    使用 simple_list_item_activated_1 你使用的是简单的。

    也可以使用此代码突出显示选定的行

    listview.setItemChecked(position, true);

    位置是指您要选择的行ID。

    【讨论】:

      猜你喜欢
      • 2014-10-24
      • 2013-08-07
      • 2013-11-04
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 2014-09-02
      • 2013-06-23
      相关资源
      最近更新 更多