更改方向时重复ListFragment条目

时间:2012-05-16 16:09:06

标签: android android-fragments orientation-changes android-listfragment

所以,我正在开发一个带有片段的应用程序,一切都很好,除了当我改变方向时,ListFragment上的条目重复如此:

Normal Landscape

当我回到纵向模式时,这些项目仍然是重复的;直到我杀死进程并重新启动。

要填充列表我正在使用AsyncTaskLoader,但它只运行一次,当应用程序第一次启动时;然后我的适配器充满了行的信息。

我没有在main.xml中使用<fragment>标记,片段是通过“父”活动中的代码添加的,如下所示:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    if (savedInstanceState == null) {
        TodoListFragment fragment = new TodoListFragment();
        FragmentTransaction trans = getFragmentManager().beginTransaction();
        trans.replace(R.id.fragment_list_container, fragment,
                LIST_FRAGMENT_TAG);
        trans.commit();
    }
}

替换是和添加,但改变尝试测试它是否有任何区别,它没有。 我也试过使用setRetainInstance(true)方法,但没有用。

我很难过,任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

你说AsyncTaskLoader只在应用程序启动时运行...在方向更改时应用程序正在重新启动,所以它可能正在运行第二次?