listView.performItemClick(listView, 0, listView.getItemIdAtPosition(0));
私はこれを試しましたが、ほとんどの場合は機能します。奇妙なケースが1つあります。デバイスを回転させると、performClick
たとえば位置ゼロにaを呼び出し、onClickListener
が呼び出さDetailView
れ、位置ゼロのforが呼び出されます。ただし、最後にアクティブ化されたアイテムが位置3であった場合でも、位置3は引き続き強調表示されます。これは、アクティビティを開始して最初の行をアクティブ化するように設定したときに機能しますが、向きを変更した後は機能しません。
状況:タブレットモード、右側のサイトの詳細ビュー、左側のサイトのリストビューでアクティビティAを使用しています。
ステップ1:3.リスト項目をタッチします->行が強調表示され、詳細ビューが表示されます。
ステップ2:タブレットを回転させても何も保存せず、向きの変更をキャッチしません。nada->3.アイテムは引き続き強調表示されます。
次listView.performItemClick
のステップ:メソッド->エフェクトでPosition ceroを呼び出そうとしますonActivityCreated
:アクティビティが最初に開始されたときに最初の行が強調表示され、詳細ビューが表示され、方向が変わると、onActivityCreated()が再度呼び出され、performItemClickも実行されます。 onClickListenerが呼び出され、詳細ビューが更新されますが、リストアイテム番号3は引き続き強調表示されます。