0

我创建了一个包含货币对象的 ArrayList(货币有名称和价格)。
我还创建了扩展 baseAdapter 和应用程序类的类。因此,每次我将货币添加到列表中时,它都会使用以下代码通过应用程序类:

getApplicationClass().addCurrency(currency);

但是,货币价格不断更新。
所以我想知道如何更新货币价格?我可以从库中使用任何功能吗?

(ArrayList 在应用程序类中)

4

1 回答 1

0

虽然可以将货币列表保留在 Application 类中以便显示它,但该列表也必须位于 BaseAdapter 的子类中。当您通过 Application 类将货币添加到列表中时,您将绕过 UI 正在侦听的 BaseAdapter 子类。如果您在调用 Application 类的 addCurrency() 方法时将 BaseAdapter 的子类连接到 UI,则 UI 不会看到这些更改。相反,最好通过 BaseAdapter 子类进行添加,以便它可以调用 notifyDataChanged() 以便 UI 知道更改。此外,由于它包含对 Application 类中相同实例的引用(我假设这是您所做的),因此 Application 引用也将被更新。

如果特定货币的价格发生变化,您只需调用 BaseAdapter 子类上的 notifyDataChanged() 来告诉 UI 重绘,因为支持模型中的某些内容已更改。

在不了解您的程序的更多细节的情况下,这就是我可以给出的所有建议,并且我也在对您正在做的事情做出一些假设(即 Application 类中的 ArrayList 与给 BaseAdapter 子类的实例相同 - 不是副本) .

于 2012-09-27T14:55:43.360 回答