我在Android上使用扩展应用程序类来在整个应用程序中共享我的数据.
我可以使用getApplication()我所有活动中的方法.
但是,我创建了一些自定义帮助程序类; 例如,一个XMLHelper不从任何活动/服务类继承的类.
这里的getApplication()方法不可用.
我该如何解决这个问题以及解决这个问题的最佳设计方法是什么?
mgv*_*mgv 55
该getApplication()方法位于Activity类中,这就是您无法从助手类访问它的原因.
如果您确实需要从帮助程序访问应用程序上下文,则应该保留对活动上下文的引用,并将其调用传递给帮助程序.
Chi*_*rag 27
该getApplication()方法位于Activity类中,因此无论何时   getApplication()在非活动类中,您都必须将Activity实例传递给该非活动类的构造函数.
假设测试是我的非活动类:
Test test = new Test(this);
在那个类中,我创建了一个构造函数:
 public Class Test
 {
    public Activity activity;
    public Test (Activity act)
    {
         this.activity = act;
         // Now here you can get getApplication()
    }
 }
Som*_*ent 20
将Context对象转换为Activity对象可以很好地编译.
试试这个:
((Activity) mContext).getApplication(...)
| 归档时间: | 
 | 
| 查看次数: | 114004 次 | 
| 最近记录: |