
我有一个活动和不同的片段.
每个片段都需要访问一个允许它访问数据库的Class(称之为X),但是,因为我有很多片段,所以我不想在每个片段中创建一个不同的Class X实例.认为它需要大量的记忆.
那我该怎么办?
我写了这样的东西(带有吸气剂),但它不起作用!
public class MyActivity { private ClassX classx; ..... public ClassX getClassX() { return classx; } .....} 但是,我怎么能从片段中调用它呢?
解决方法 这有点像Java问题和androID.如果您正在查看访问数据库,请查看创建数据库单例.
所以类似于:
public class Database { // This starts off null private static Database mInstance; /** * Singleton method,will return the same object each time. */ public static final Database getInstance() { // First time this method is called by Database.getInstance() from anywhere // in your App. It will create this Object once. if(mInstance == null) mInstance = new Database(); // Returns the created object from a statically assigned fIEld so its never // destroyed until you do it manually. return mInstance; } //Private constructor to stop you from creating this object by accIDent private Database(){ //Init db object }} 然后,从您的片段和活动中,您可以将以下字段放在您的类中(更好地使用基本活动和片段来保存重复代码).
public abstract class BaseFragment extends Fragment { protected final Database mDatabase = Database.getInstance();} 然后你的具体片段可以扩展你的BaseFragment,例如SearchListFragment扩展了BaseFragment
希望这可以帮助.
值得一读的是singletons和database
问候,克里斯
总结以上是内存溢出为你收集整理的android – 从片段调用活动方法全部内容,希望文章能够帮你解决android – 从片段调用活动方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)