ListView选择不会更改

时间:2015-01-19 13:30:42

标签: android android-fragments android-listview

在我的应用中,我的活动包含两个片段。

第一个片段包含ViewPager,其中包含一些片段(viewpager片段的第一个片段包含ListView)。第二个片段是简单的设置片段。例如,我检查了ListView上的第二个元素,单击设置,我的第二个片段从活动打开。我点击后退按钮,然后回到我的ListView,然后我打电话:

listView.setItemChecked(0, true);
listView.setSelection(0);

但是这不起作用,第二个元素仍然被检查...... 我从ViewPager转到下面的第二个片段:

getSupportFragmentManager().beginTransaction()
                .replace(R.id.slpdActivityLayout, fragment).addToBackStack(null).commit();

为什么我的选择仅在按下后退按钮时不起作用?

1 个答案:

答案 0 :(得分:0)

这是关于您的片段的生命周期,如-> here <-,您无法在onCreateView中进行UI更新。因此,请将代码置于onStart或更好onResume

删除:

public void onCreateView() {
    listView.setItemChecked(0, true);
    listView.setSelection(0);
}

添加:

public void onResume() {
    listView.setItemChecked(0, true);
    listView.setSelection(0);
}
相关问题