我有一个类扩展了应用程序在Android tabHost应用程序。在App类中,我一直在放置方法和变量,否则我需要在每个类中重新创建这些方法和变量。一种方法是从数据库读取数据并将结果存储在ArrayList中(例如名字,姓氏)。而不是重新读这个数据库,并重新创建每个需要信息的标签视图的代码,我坚持方法和ArrayList在扩展应用程序(myAppClass)的类。这样,通过在onCreate()中的任何选项卡视图中设置mAC = (myAppClass) getApplicationContext()
,我可以引用myAppClass中的所有get ..()和set ..()方法。静态方法与类扩展android.app.Application?
我原来的计划是使用静态方法和变量的共享类,但我读了很多“不这样做”的线程,所以决定去应用程序路线。现在,我遇到了一种情况,我试图在项目库中使用myAppClass,但得到关于android.app.Application cannot be cast to...
的错误如果我将myAppClass更改回静态方法/变量(并且不扩展应用程序),事情就会起作用,但这应该是假定的是一个很大的禁忌。有没有另一种方法来做到这一点?不确定Android是否通过引用传递了所有内容,但是我最好通过在方法/类之间来回传递巨大(数千个对象/成员)ArrayLists来重新实现整个应用程序?
只有一个应用程序实例。不需要使用getter和setter。只需在子类应用程序中使用静态方法/变量并以这种方式使用它们:MyApplication.myMethod()... – 2011-12-28 17:01:49