Android:调用属于AsyncTask类

时间:2016-07-27 15:01:33

标签: android android-asynctask

我有一个class B,我想调用方法getSomething(type, option),该方法属于class A,其扩展AsyncTask并位于class内下进行。

我的class C是:

public class C extends BaseActivity{
(...)
 public class A extends AsyncTask<String, Void, String> {
 (...)
  public String doInBackground(String... params) {
  (...)
  }
  public String getSomething(String type, String option){
  (...)
  }
  protected void onPreExecute() {
  (...)
  }
  protected void onPostExecute(String result){
  (...)
  }
(...)
}

我正在尝试在B类中调用方法getSomething(...)

public class B{
(...)
public void methodInClassB(String type, String option){

    String sentence = new C().new A().getSomething(type,option);
}

我也尝试过这个失败:

new C().new A().execute(type,option);

我无法调用getSomething()方法,因为我收到以下异常:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference

每次在class B中调用。

有人可以帮助我吗?我如何从B类调用方法getSomething(...)?

1 个答案:

答案 0 :(得分:0)

问题似乎不清楚 试试这个

  • 在类B中保留一个方法来调用异步任务 - methodInClassB
  • 在您的Currant类中创建B类对象
  • 使用您的对象调用B类,并调用methodInClassB