具有可见分隔符的不可点击的Listview项

时间:2012-05-18 18:27:43

标签: android listview user-interface adapter clickable

我想禁用点击Listview项目。一种解决方案是覆盖areAllItemsEnabled()以始终返回false,并isEnabled()为特定位置返回false。但是,这会导致特定Listview项周围的分隔线消失。有些人建议areAllItemsEnabled()返回true,isEnabled()返回false,但这对我不起作用。我在手动放置分隔线时犹豫不决,因为我需要在项目XML中添加父布局。

有没有办法将Listview项设置为不可点击并仍然保留

3 个答案:

答案 0 :(得分:2)

解决方案与您被告知要做的完全相反。 您应该在areAllItemsEnabled()中返回false,然后删除您对isEnabled()的覆盖。 它对我很有效,昨天我也在努力解决这个问题。

areAllItemsEnabled() == false起,所有项目都无法点击,但会显示分隔符。

答案 1 :(得分:1)

我也有这个问题,但覆盖这些Adapter方法似乎很难看。然后有一个帖子给了我一个想法,这个想法之前已经有效了。在不应点击的观点上,只需拨打view.setOnClickListener(null)

Boom,也许这是一种解决方法而不是真正的解决方案,但它确实有效。我必须注意,我以编程方式向ListView页脚添加了分隔符,因此我引用了分隔符,我只需将OnClickListener设置为null

答案 2 :(得分:0)

在个人View上,尝试将其设置为无法点击:view.setClickable(false)。如果这不起作用,请尝试view.setFocusable(false)