listView.performItemClick(listView, 0, listView.getItemIdAtPosition(0));
我试过这个并且在大多数情况下都适用。有一种奇怪的情况:当您旋转设备时,我会拨打performClick
来拨打电话。位置为零,调用onClickListener
并调用位置零的DetailView
。但如果最后激活的项目是位置3,则位置3仍然会继续突出显示。这在我启动活动并设置要激活的第一行时有效,但在方向更改后却没有。
情况:我在平板电脑模式的活动A,右站点详细信息视图,左站点列表视图。
第1步:我触摸3.列表项 - >该行突出显示,并显示详细信息视图。
第2步:我旋转平板电脑,我不保存任何东西,我没有抓住方向变化,nada-> 3.项目继续突出显示。
下一步:我尝试在listView.performItemClick
方法 - >中调用onActivityCreated
来定位cero效果:当活动首次启动时,第一行突出显示并显示详细信息视图,当方向更改时,再次调用onActivityCreated(),也执行performItemClick,调用onClickListener并更新详细信息视图,但列表项目编号仍为3继续突出显示。
答案 0 :(得分:0)
这只是因为只要 Orientation
更改,视图就会刷新。如果您在特定方向上单击了listItem,那么它会根据您的需要高亮显示。 But after change the orientation the view is refreshed
如果您想保存状态,请查看此处: