【问题标题】:FragmentManager from application context来自应用程序上下文的 FragmentManager
【发布时间】:2014-03-21 14:52:42
【问题描述】:

有没有办法从应用程序上下文中获取 FragmentManager?我想使用 ImageLoader 或 BitmapFun 来存储我从服务器下载的一些位图。这两个类都需要一个 FragmentManager 用于在配置更改(例如方向更改)时保留缓存。就我而言,我想在我真正“需要”它们之前预先下载图像。

【问题讨论】:

    标签: android android-context fragmentmanager


    【解决方案1】:

    有没有办法从应用程序上下文中获取 FragmentManager?

    不,因为片段是活动的一部分。

    就我而言,我想在真正“需要”图像之前预先下载它们。

    然后使用一个不同的库,一个不依赖于片段的库。

    【讨论】:

    • 你知道这样的库吗?这是我能找到的仅有的两个。
    • @learner:Android 的图像检索库看似无穷无尽。我个人使用 Square 的 Picasso,尽管我的案例通常涉及获取和应用图像,使用侧面缓存,而不是提前缓存。我没有研究所有的库来知道哪些(如果有的话)支持你的用例——对不起。
    【解决方案2】:

    是的,你可以。

    首先,您必须阅读此解决方案以获取应用程序的“当前活动”:

    How to get current foreground activity context in android?

    Activity activity = ((myApplication) getApplicationContext()).getCurrentActivity();    
    FragmentManager fragmentManager = activity.getFragmentManager();
    

    【讨论】:

    • getApplicationContext()).getCurrentActivity() 对我不起作用。应用程序上下文中没有 getCurrentActivity。
    • @davidmlee getCurrentActivity() 只是 Application 类中名为 currentActivity 的实例变量的获取器
    • georgiecasey ic。我喜欢从应用程序对象中获取它的想法。活动来来去去,但应用程序是单例的。
    猜你喜欢
    • 1970-01-01
    • 2020-09-25
    • 2012-05-23
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2015-08-31
    相关资源
    最近更新 更多