从非活动单例类获取应用程序上下文

德米特里

在我的android项目中,我有ImageAdapter类,可以在其中传递应用程序上下文以满足进一步的需求。

public class ImageAdapter extends BaseAdapter {
    private Context c;

    public ImageAdapter(Context c) {
            this.c = c;
    }
    ...
}

问题是我想使ImageAdapter作为一个单例对象,以便可以从我的所有活动中轻松访问此类的实例。但是我不知道如何将我的活动之一中的getApplicationContext()方法中的应用程序上下文传递给ImageAdapter。那么,有什么“魔术”可以做到以下几点?

public class ImageAdapter extends BaseAdapter {

    private Context c;

    private static class Holder {
            public static final ImageAdapter IA = new ImageAdapter();
    }

    private ImageAdapter() {
            this.c = /* some magic here */.getApplicationContext();
    }

    public static ImageAdapter getInstance() {
            return Holder.IA;
    }
    ...
}

也许您还有其他一些想法可以共享ImageAdapter用于我的任何活动。我是android的新手,我对在活动之间传递数据的方式有些困惑。

我将不胜感激。

穆罕默德·莫恩

更新:2018年3月6日

使用MyApplication实例代替Context实例。Applicationinstance是一个单例上下文实例本身。

public class MyApplication extends Application {

    private static MyApplication mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
    }

    public static MyApplication getContext() {
        return mContext;
    }
}

上一个答案

您可以像这样获得应用程序上下文:

public class MyApplication extends Application {

    private static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = getApplicationContext();
    }

    public static Context getContext() {
        return mContext;
    }
}

然后,您可以从方法调用应用程序上下文 MyApplication.getContext()

不要忘记在清单文件中声明应用程序:

<application
    android:name=".MyApplication"
    android:icon="@drawable/icon"
    android:label="@string/app_name" >

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

应用程序上下文。这是什么?

来自分类Dev

根上下文/应用程序上下文和Servlet上下文

来自分类Dev

Spyne与Flask应用程序上下文

来自分类Dev

在Android的Fragment中获取应用程序上下文?

来自分类Dev

Spring root应用程序上下文和servlet上下文混淆

来自分类Dev

从CommandLinerRunner获取应用程序上下文

来自分类Dev

在没有主类的情况下启动应用程序上下文

来自分类Dev

获取应用程序上下文返回null

来自分类Dev

来自应用程序上下文的FragmentManager

来自分类Dev

Android Webview应用程序上下文

来自分类Dev

使用Flask-Restful从应用程序上下文获取数据库连接

来自分类Dev

Spring递归加载应用程序上下文

来自分类Dev

为什么烧瓶中的应用程序上下文不是应用程序的单例?

来自分类Dev

检测每个触摸事件而不获取应用程序上下文?

来自分类Dev

在应用程序上下文之外工作-Flask

来自分类Dev

Spring应用程序上下文为null

来自分类Dev

Tizen应用程序上的上下文菜单

来自分类Dev

如何在Nativescript中正确获取Android应用程序上下文

来自分类Dev

在单例内部访问应用程序上下文

来自分类Dev

在活动中调用应用程序上下文

来自分类Dev

在Android的存储类中访问应用程序上下文

来自分类Dev

Android中的应用程序上下文

来自分类Dev

非活动类中的应用程序上下文?

来自分类Dev

应用程序上下文中的类Bean用于可缓存的注释

来自分类Dev

在非活动类中获取应用程序上下文以传递CSV文件

来自分类Dev

Android获取Android库上下文与应用程序上下文

来自分类Dev

获取应用程序上下文错误

来自分类Dev

无法在单例类中传递应用程序上下文?

来自分类Dev

活动上下文与应用程序上下文

Related 相关文章

热门标签

归档