我必须使用标签,新标识和报告。在REPORTS选项卡中,我正在创建一个动态创建的列表视图。现在从数据库中获取列表视图列表项。因此,每次加载REPORTS选项卡时,如果列表项发生更改,则必须从数据库中获取列表视图列表项。如果我将所有这些东西都放在了“报告”的onCreate选项卡中,那么一切都很完美。但是,如果我切换到另一个选项卡并切换回REPORTS选项卡,则会填充列表视图,但不会反映列表项中数据库中所做的更改。每当我回到REPORTS选项卡时,我需要从数据库中获取当前数据并显示在列表视图中。
所以问题是因为我正在onCreate中填充listview,这只发生一次。在网上浏览后,我找到了TabContentFactory()的东西。好吧,我认为这可以解决我的问题。这就是我做的,
TabHost.TabSpec reportsSpec = tabHost.newTabSpec("reports").setIndicator("Reports")
.setContent(new TabHost.TabContentFactory(){
public View createTabContent(String tag) {
Context context = Main_screen.this;
ls1 = new ListView(Main_screen.this);
//populate m_data from the database
CustomAdapter adapter = new CustomAdapter(context, m_data);
ls1.setAdapter(adapter);
return ls1;}});
tabHost.addTab(reportsSpec);
但这并不能解决我的问题。看起来createTabContent中的代码只在创建选项卡时执行,而不是每次切换到REPORTS选项卡时都执行。
这可以完成吗?我们每次切换到标签时都可以创建标签的内容吗? 请帮忙。非常感谢任何帮助。
答案 0 :(得分:1)
在tabview中,尝试将数据加载到onResume方法中。