在触摸屏上, 如何设置Listview单选?

4
目标:有一个ListView显示文本字符串的列表。用户可以通过触摸来选择项目。所选项目与未选择的项目看起来不同。
简而言之,我想要一个简单的滚动列表框,可以使用轨迹球和触摸模式工作。
有许多帖子询问这个问题,但似乎没有得到足够的答案。这是一个如此简单的需求,为什么没有文章介绍这个呢?
我看了http://developer.android.com/resources/tutorials/views/hello-listview.html ,但在触摸模式下无法使用:橙色背景被显示出来,这是在触摸模式下无法实现的,除非采用极端的极客技巧,对于所有新手都期望默认情况下能使用的东西,这实在是不可理喻。
我怀疑实现触摸模式可选择列表框(Google中的ListView)的唯一方法是在其中放置单选按钮。突然间,我的小文本列表视图变成了一个庞然大物。
有人能解释一下在触摸模式下以最简单的方式制作单选ListView,以便用户可以确定它是否被选中吗?经过摸索几天,我真的不介意它是否有单选按钮、唱歌的鹦鹉或任何东西,只要编码简单即可。

那么列表项应该仍然可点击还是只能选择? - Flo
2个回答

2

谢谢,这就解决了问题。为了让单选按钮出现,ArrayAdapter需要使用android.R.layout.simple_list_item_single_choice而不是android.R.layout.simple_list_item_1。关于此的文档不存在(在谷歌开发者网站上搜索simple_list_item_single_choice并没有找到太多信息)。同时还注意到,在触摸模式下,要获取所选项目,需要调用getCheckedItemPosition(),因为getSelectedItem()返回null。 - ThisIsNotMe

0

你想做什么?只是突出显示所选的ListView行吗?为此,您可以使用以下代码。

android:listSelector="@drawable/highlighter"
android:drawSelectorOnTop="true"   

请在您的XML文件中编写此代码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接