Android ListView选择不会更改

Android ListView选择不会更改,android,android-fragments,android-listview,Android,Android Fragments,Android Listview,在我的应用程序中,我的活动包含两个片段 第一个片段包含ViewPager,其中包含一些片段(ViewPager片段的第一个片段包含ListView)。第二个片段是简单设置片段。例如,我检查了ListView上的第二个元素,单击设置,活动中的第二个片段打开。我单击“上一步”按钮,返回我的列表视图,然后我调用: listView.setItemChecked(0, true); listView.setSelection(0); 但这不起作用,第二个元素仍处于检查状态。。。 我以下面的方式从Vie

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

第一个片段包含ViewPager,其中包含一些片段(ViewPager片段的第一个片段包含ListView)。第二个片段是简单设置片段。例如,我检查了ListView上的第二个元素,单击设置,活动中的第二个片段打开。我单击“上一步”按钮,返回我的列表视图,然后我调用:

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

但这不起作用,第二个元素仍处于检查状态。。。 我以下面的方式从ViewPager转到第二个片段:

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

为什么只有当我按下后退按钮时,我的选择才起作用?

这是关于你的片段的生命周期的,如所见->这里你打开了singleselection吗?“第二个元素仍然被选中”-第一个元素也被选中了吗?如果是:则只需取消选中第二个元素(循环中的所有其他元素)如果否:可能您需要刷新UIYes,如下图所示
AbsListView。选择\u MODE\u SINGLE
no,只检查第二个元素然后检查,如果必须更新视图-可能使用
isDirty()
并在调用
getSupportFragmentManager().beginTransaction().replace(R.id.slpdActivityLayout,secondFragment.addToBackStack(null.commit())时以编程方式检查第二个元素是否已被选中未被销毁?我发现了一个被销毁的东西…您可以通过调试listView中fragmentfragment的
onDestroy
onDestroyView
方法轻松检查它。。。那么为什么这段代码在“onCreateView”方法中不起作用呢?是的,这很有意义。很抱歉正确的答案太明显了。更改了我的答案。那么为什么此代码在“onCreateView”方法中不起作用?
public void onCreateView() {
    listView.setItemChecked(0, true);
    listView.setSelection(0);
}
public void onResume() {
    listView.setItemChecked(0, true);
    listView.setSelection(0);
}