2013-01-20 145 views
0

我在登录后填充tabhost上的表。我已经建立了一个线程来填充表格。同时,我点击标签,在那里我设置了另一个线程来读取同一个表中的数据,并填充列表视图的适配器。Android sqlite读取和写入

我的问题是,在tabhost上填充表的线程需要一些时间,同时如果我点击选项卡来显示表中的数据,它显示没有找到数据,因为适配器是空的。

如何解决这个问题?是否可以使用wait()notify()来解决生产者/消费者的问题?

回答

0

我能想象的最简单的(又名hackiest)吗?

在主要活动中创建一个静态布尔值设置为false。让后台线程在更新数据后将其设置为true。其他活动可以检查布尔值是否为假,并将您发送回主服务器或建立一个表示数据仍在加载的敬酒。

或者如果没有找到任何数据,只需提出一个你正在加载的祝酒。您可以运行一个定时器来刷新页面,直到找到数据。

+0

其他活动将如何继续检查布尔值是否为真?我需要使用wait n notify吗? –

+0

如果你发回他们的主人说“仍在装载”,你只需要检查onResume()。 – TheRealKingK

+0

不,我不打算将它们发送回主,而是我需要保持适配器页上的progressdialog继续加载,直到布尔值变为true并填充数据。我应该只使用while循环来检查布尔值吗? –