从库访问上下文上下文

时间:2017-12-27 10:12:34

标签: java android api

我试图让this api包装器让android工作。

提供的示例方法之一是:

APIWrapper wrapper = new APIWrapper(context, "YOUR_API_KEY");
Parameters params = new Parameters()
    .addSearch("searchQuery")
    .addFields("*")
    .addOrder("published_at:desc");

wrapper.search(APIWrapper.Endpoint.GAMES, params, new onSuccessCallback(){
    @Override
        public void onSuccess(JSONArray result) {
            // Do something with resulting JSONArray
        }

        @Override
        public void onError(VolleyError error) {
            // Do something on error
        }
});

我导入了Context上下文,但是 问题在于" context"似乎无论如何都是无效的。

如何让Context上下文正常工作?

编辑: Context context = this;工作

虽然我想从另一个类调用相同的方法。像这样:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        test2 method = new test2();
        method.dostuff4();   // call from other class

Context再次为null?

2 个答案:

答案 0 :(得分:1)

在这里检查一下!它的注射简单!但它会为你做好工作!

public class MainActivity extends AppCompatActivity{
      private Context context;

   @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    context = this;
    Test2 method = new Test2(context);
    method.dostuff4();   // call from other class

}

//这里应该是Test2类的结构

public class Test2 {
 Context context;
 public Test2(Context context){
   this.context = context;
 }

 public void dostuff4(){
 //here now you can use the context in it
 }

}

答案 1 :(得分:0)

困惑我的是背景。​​

我不得不把它传递给它工作。 问题解决了

https://itekblog.com/android-context-in-non-activity-class/