具有单选模式的ListView需要自动选择第一个项目并调用其onitemclicklistener

时间:2011-11-22 20:10:58

标签: android listview

所以我使用SingleView模式启用ListView。我有一个列表项背景选择器,它正确地更改为激活状态。

使用.setSelected()不会。

即使我获得该列表项的视图并将其状态设置为激活它仍然不起作用。

到目前为止,这是我提出的最佳解决方案但是setActivated基本上没有工作我已经复制了onItemClickListener的代码但添加了setActivate()。

InformationListAdapter adapter = new InformationListAdapter(getActivity().getApplicationContext(), info.infoSections);
lv.setAdapter(adapter);  
View v=adapter.getView(0, null, null);
v.setActivated(true);

InformationSection item = (InformationSection)lv.getItemAtPosition(0);
InformationWebFragment webFrag = (InformationWebFragment) getFragmentManager().findFragmentById(R.id.InfoWebFragment);
webFrag.updateDisplay(item);

2 个答案:

答案 0 :(得分:13)

自动选择第一项呼叫:

listView.setItemChecked(0, true);

答案 1 :(得分:1)

如果您可以访问View我认为该行:View v=adapter.getView(0, null, null);给您 - 那么您可以这样做:

v.performClick();

这将触发onClick - 事件并针对特定onClickListener运行View

修改

正如我们在下面的讨论中发现的,应该致电:

listView.performItemClick(View view, int position, long id);