【发布时间】:2013-03-25 15:08:39
【问题描述】:
我的 viewPager 有 5 个 ListFragment。
当列表项被选中时,转到 DetailFragment。
返回后,自动滚动记录在Listview上的位置。
autoScroll方法是这样的,这个在onStart()中调用;
getListView.setSelection(position);
但这有问题。
ViewPager 在 Fragment1 时创建 Fragment2。
当 Fragment2 尚未显示时,Fragment2 调用 onStart()。
所以,Fragment2 会滚动到最后一个位置,但显示的 Fragment 还是 Fragment1。
因此,App 因异常而崩溃。
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) 完全显示片段。
请帮忙。
【问题讨论】: