0

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

普通的景观

当我回到纵向模式时,项目仍然重复;直到我终止进程并重新启动。

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

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

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)方法,但无济于事。

我很难过,任何帮助将不胜感激。

4

1 回答 1

0

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

于 2012-05-16T16:55:02.287 回答