ListView setSelection不适用于选择简单列表

时间:2013-06-27 06:03:49

标签: android android-listview

我在对话框中制作单个选项列表。

我已经完成了所有基本功能,例如添加了一个setonitemclicklistener,但我想要的是默认设置列表的第一项,但是当我使用setSelection(1)时它不起作用:

我做完了:

    private void resetPosition(final ListView lv) {
    lv.post(new Runnable() {
        @Override
        public void run() {
            lv.setSelection(1);
        }
    });
   }

我在点击按钮时调用此功能,这将启动此对话框,

这段代码有什么问题?

setSelection()的文档显示一行“如果处于触摸模式,该项目将不会被选中,但它仍将被正确定位”这是错误吗?

1 个答案:

答案 0 :(得分:10)

如果需要选择项目,则应允许选中列表项目。您需要使用CHOICE_MODE_SINGLE将ListView的选择模式设置为ListView.setChoiceMode(CHOICE_MODE_SINGLE)

然后您需要使用ListView.setItemChecked(int position, boolean checked)方法ListView.setItemChecked(0, true)将第一个位置设置为已选择。

另见:http://www.vogella.com/articles/AndroidListView/article.html#listviewselection