私のviewPagerには5つのListFragmentがあります。
リスト項目が選択されている場合は、DetailFragment に移動します。
戻ると、autoScroll は Listview の位置を記録しました。
autoScroll メソッドはこのようなもので、これは onStart(); で呼び出されます。
getListView.setSelection(position);
しかし、これには問題があります。
ViewPager は Fragment1 のときに Fragment2 を作成します。
Fragment2 がまだ表示されていない場合、Fragment2 は onStart() を呼び出します。
そのため、Fragment2 は最後の位置をスクロールしますが、表示される Fragment はまだ Fragment1 です。
その結果、アプリは例外によってクラッシュしました。
03-22 09:39:23.711: E/AndroidRuntime(15404): java.lang.IllegalStateException: Content view not yet created
03-22 09:39:23.711: E/AndroidRuntime(15404): at android.support.v4.app.ListFragment.ensureList(ListFragment.java:328)
03-22 09:39:23.711: E/AndroidRuntime(15404): at android.support.v4.app.ListFragment.getListView(ListFragment.java:222)
というわけで、 getListview.setSelection(position) を呼んで Fragment だけを完全表示させたい。
助けてください。