【发布时间】:2013-08-09 07:39:40
【问题描述】:
我在选项卡布局中有两个活动。在第一个活动中,我将元素添加到列表视图中,在第二个活动中,将显示列表视图。所以问题是,在我在第一个活动中将元素添加到列表视图之后,在我重新启动整个应用程序之前,在第二个活动中看不到列表视图。
我猜这是因为我在 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);
一切都很完美,除了我需要重新启动应用程序才能更新列表视图。
【问题讨论】:
-
“我在选项卡布局中有两个活动”——这已被弃用约 2.5 年。请考虑使用现代替代品,例如
FragmentTabHost、ViewPager和选项卡式指示器或操作栏选项卡。 -
@CommonsWare 我大约 2-3 个月前才开始进行 android/java 编程。所以我真的不知道更好。您能否为我提供一些其他选项的新手友好教程?我会自己用谷歌搜索它们,但既然你已经提到过,我只是问一下:)
-
FragmentTabHost有一个完整的样本 in its JavaDocs。操作栏选项卡覆盖in the documentation,the use ofViewPager也是如此。我确信在操作栏选项卡和ViewPager选项上有独立的教程,它们也包含在书籍中。FragmentTabHost可能是这 3 个中最不受欢迎的,尽管它最接近您当前的代码。 -
@CommonsWare 谢谢你的帮助,我会检查一下:)
-
@CommonsWare 我采纳了您的建议并开始实施 FragmentTabHost,但遇到了一些困难。我打开了一个新问题,因为我被卡住了。我希望我没有要求太多。 this is the question
标签: java android eclipse android-listview oncreate