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

Mr_*_*Hmp 1 android android-listview

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

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

我已经做好了 :

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

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

这段代码有什么问题?

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

Anu*_*kur 10

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

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

另请参阅:http://www.vogella.com/articles/AndroidListView/article.html#listviewselection