我在标签布局中有两项活动。在第一个活动中,我将元素添加到listview,在第二个活动中,将显示列表视图。所以问题是,在我完成第一个活动中向listview添加元素之后,在重新启动整个应用程序之前,无法在第二个活动上看到listview。
我猜这是因为我在onCreate方法中创建了listview,而onCreate方法只在活动被完全销毁并重新创建时执行。但由于这是一个tabLayout,因此onCreate在我开始向listView添加元素之前就已经执行了。
所以我的问题是:每次点击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);
一切都很完美,除了我需要重新启动应用以便列表视图更新。
答案 0 :(得分:0)
现在有人给了我一个更好的解决方案(查看评论),但我仍然会回答我自己的问题。我做了一些研究并找到了一些东西。
这很简单。为标签创建意图时,您只需要添加FLAG_ACTIVITY_CLEAR_TOP即可。
像这样:
Intent libraryIntent = new Intent(this, RecordedLibrary.class);
libraryIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);