我使用Eclipse创建主详细信息流,现在想在主详细信息流(类型FragmentActivity
)中的列表活动和我创建的另一个活动(类型为{{}之间使用sqlite数据源。 1}})。
我做了一些阅读,为了只有一个sqlite数据源实例,人们建议创建一个基本活动(类型为Activity
,包含数据源),然后将其扩展到所有其他活动。这样我就可以从超类中获取资源......这一切都很好,但是我无法在主详细信息流的列表活动中扩展基本活动,因为它扩展了Activity
而不是FragmentActivity
...
有什么建议吗?
答案 0 :(得分:2)
我认为WarrenFaith在他的评论中提出的建议是扩展Application
类,然后允许您维护一个全局static
对象,可以从任何应用程序的组件访问该对象。
示例...
public class MyApp extends Application {
public static MyObject obj = null;
public void onCreate() {
obj = new MyObject();
...
}
...
}
然后,您可以从Activity
或FragmentActivity
访问该对象,如下所示......
MyApp.obj.someMethod();
答案 1 :(得分:0)
不确定这会有所帮助,我仍然会分享我在这里所做的一些事情,也许会有所帮助。
在使用片段时,我使用片段上的getActivity()传递给我的SQLite DS对象。这将返回与片段关联的Activity。
在FragmentActivity上,我看到一个名为getParent()的方法,它根据FragmentActivity的使用方式返回父Activity。