如何将上下文传递给非活动?

时间:2016-12-02 13:40:22

标签: java android

每当我尝试将我的上下文作为参数传递给非活动时,我都会收到空指针异常。当我需要从非活动中调用函数时,有没有办法正确传递上下文?希望我能得到一些帮助。这是我的代码。

在Functions.java(非活动)

public String checkConnection(Context context){
        Context inContext = context;
        StringRequest stringRequest = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.d("CheckConnection",response.substring(0,100));
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });
        Volley.newRequestQueue(inContext).add(stringRequest);
        return null;
    }

在Home.java(活动)

Functions functions;
functions.checkConnection(Home.this);

希望有人可以提供帮助

2 个答案:

答案 0 :(得分:1)

Functions functions = new Functions();
functions.checkConnection(Home.this);

答案 1 :(得分:-2)

在应用程序的生命周期中总有一个活动的应用程序上下文可以在应用程序文件中找到。

public class MyApplication extends Application {

    public static Context getApplicationCotext() {
        return getApplicationCotext();
    }
}

然后您的应用中的任何位置都可以将其用作:

MyApplication.getApplicationCotext();