listView.performItemClick(listView, 0, listView.getItemIdAtPosition(0));
我试过这个,它在大多数情况下都有效。有一种奇怪的情况:当您旋转设备时,我调用 aperformClick
到例如位置零,onClickListener
调用 并且调用DetailView
位置零的 。但如果最后激活的项目是位置 3,则位置 3 仍会继续突出显示。这在我开始活动并将第一行设置为激活时有效,但在方向更改后无效。
情况:我在平板电脑模式下的活动 A,右侧站点详细信息视图,左侧站点列表视图。
第 1 步:我触摸 3. 列表项 -> 突出显示该行并显示“详细信息”视图。
第 2 步:我旋转平板电脑,我没有保存任何内容,我没有捕捉到方向变化,nada-> 3. 项目继续突出显示。
下一步:我尝试listView.performItemClick
在方法中调用位置cero onActivityCreated
- >效果:当活动第一次启动时,第一行被突出显示并显示详细视图,当方向改变时,再次调用onActivityCreated(),performItemClick,调用 onClickListener 并更新详细视图,但列表项 3 仍继续突出显示。