我在对话框中制作单个选项列表。
我已经完成了所有基本功能,例如添加了一个setonitemclicklistener,但我想要的是默认设置列表的第一项,但是当我使用setSelection(1)时它不起作用:
我做完了:
private void resetPosition(final ListView lv) {
lv.post(new Runnable() {
@Override
public void run() {
lv.setSelection(1);
}
});
}
我在点击按钮时调用此功能,这将启动此对话框,
这段代码有什么问题?
setSelection()的文档显示一行“如果处于触摸模式,该项目将不会被选中,但它仍将被正确定位”这是错误吗?
答案 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