0

我在选项卡布局中有两个活动。在第一个活动中,我将元素添加到列表视图中,在第二个活动中,将显示列表视图。所以问题是,在我在第一个活动中向列表视图添加元素后,在我重新启动整个应用程序之前,无法在第二个活动中看到列表视图。

我猜这是因为我在 onCreate 方法中创建 listview ,并且 onCreate 方法仅在活动被完全销毁并重新创建时才执行。但由于这是一个 tabLayout,所以在我开始向 listView 添加元素之前就已经执行了 onCreate。

所以我的问题是:如何让活动在每次在 tabLayout 中单击时执行 onCreate?或者是否有另一种方法,将 listView 放在 onCreate 之外并使其刷新或其他什么?

这是 onCreate 中的代码,如果有帮助的话:

listView = (ListView) findViewById (R.id.mainListView);
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, recordedFilesArray);
listView.setEmptyView(findViewById(R.id.emptyListView));
listView.setAdapter(listAdapter);

一切都很完美,除了我需要重新启动应用程序才能更新列表视图。

4

1 回答 1

0

现在有人给了我一个更好的解决方案(查看评论),但我仍然会回答我自己的问题。我做了更多的研究并发现了一些东西。

这很简单。为选项卡创建意图时,您只需添加 FLAG_ACTIVITY_CLEAR_TOP 即可。

像这样:

Intent libraryIntent = new Intent(this, RecordedLibrary.class);
libraryIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
于 2013-08-08T23:39:40.950 回答