在android上调用一个调用listener抛出异常的方法

时间:2017-06-16 10:46:39

标签: android

在android上调用一个调用侦听器的方法抛出异常"只有创建了一个视图层次结构的原始线程可以" 这是我的代码:

public class MyClassAsync extends AsyncTask<String, String, ProfileInfo> {
private Context mContext;
private IGetTelegramUserInfoAsync mListener;

protected ProfileInfo doInBackground(String... params) {
// .... some code
  mListener.GetResult(profileInfo)
// ...
helperMethod();
}

private void helperMethod(){
  mListener.GetResult(profileInfo); //exception place

}

1 个答案:

答案 0 :(得分:0)

您可以通过调用侦听器来完成此操作 定义一个这样的监听器:

public interface YourListener {
    public void gotResultOfYourAsync();
}

以这种方式调用它或在您的Activity或Fragment中实现:

public class Something {
private YourListener yourListener;

public void setTheListener(YourListener listener) {
    yourListener = listener;
}

//在您的异步任务中,您可以调用此

   yourListener.gotResultOfYourAsync();

这有点复杂,但你可以提出你的问题