[英]Null Pointer Exception in my Listener
我正在从Fragment类中调用AsyncTask,当我尝试将数据发送回Fragment时,出现空指针异常。
public interface AsyncListner {
public void onLoadComplete(List<DocumentResponse> documents);
}
我的Fragment类实现了该接口。
public class FragmentClass extends SherlockFragment implements AsyncListner {@
Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
new AsyncTask(Obj, getSherlockActivity()).setListener(this);
new AsyncTask(Obj, getSherlockActivity()).execute();
}
@Override
public void onLoadComplete(List < Response> data) {
Log.d("Result", data.toString());
}
}
您已两次调用new
,从而创建了两个不同的AsyncTasks:
new DocumentsAsyncTask(documentsObject, getSherlockActivity()).setListener(this);
new DocumentsAsyncTask(documentsObject, getSherlockActivity()).execute();
您应该只创建一个:
DocumentsAsyncTask task = new DocumentsAsyncTask(documentsObject, getSherlockActivity());
task.setListener(this);
task.execute();
注意区别吗?
在现有代码中,创建:
execute()
。 null
但您要调用execute()
。 在新代码中,您有一个AsyncTask可以同时执行这两个操作。
如果类的成员变量为null,则意味着您永远不会将其初始化为指向构造函数中的非null引用。
Java中的所有对象引用类型都将初始化为null,直到将它们指向通过调用new初始化的引用为止。
您的构造函数在哪里?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.