Android 接口实例的空指针异常
我正在做一个新闻应用。但是,当我在ListFragment中实现OnSendResultInterface时,我遇到了空指针异常。下面是我的列表片段。方法是sendResultAndroid 接口实例的空指针异常,android,interface,Android,Interface,我正在做一个新闻应用。但是,当我在ListFragment中实现OnSendResultInterface时,我遇到了空指针异常。下面是我的列表片段。方法是sendResult public class ListFragment extends Fragment implements OnItemClickListener, OnSendResultInterface { private ListView mListview; private OnItemPressListene
public class ListFragment extends Fragment implements OnItemClickListener,
OnSendResultInterface {
private ListView mListview;
private OnItemPressListener mItempressed;
@Override
public void onAttach(Activity activity) {
.......
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
..........
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
if (null != mItempressed) {
mItempressed.OnItemPress(position);
}
}
@Override
public void sendResult(List<Entry> result) {
Log.v("result", "result" + result);
RssAdapter adapter = new RssAdapter(getActivity(), result);
mListview.setAdapter(adapter);
}
}
public类ListFragment扩展了片段实现MClickListener,
OnSendResultInterface{
私有列表视图;
私用压缩空气;
@凌驾
公共事务主任(活动){
.......
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
..........
}
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
如果(null!=斜接压缩){
斜压。斜压(位置);
}
}
@凌驾
公共void sendResult(列表结果){
Log.v(“结果”、“结果”+结果);
RssAdapter adapter=新的RssAdapter(getActivity(),result);
mListview.setAdapter(适配器);
}
}
这是我的DownloadXmlTask。在这个类中,我初始化接口并声明方法
public class DownloadXmlTask extends AsyncTask<String, Void, List<Entry>> {
private OnSendResultInterface mSendResult;<---this is the listener
@Override
protected List<Entry> doInBackground(String... urls) {
.......
}
@Override
protected void onPostExecute(List<Entry> result) {
if (null != result)
mSendResult.sendResult(result); <----null pointer exception shown here.
}
public List<Entry> downloadUrl(String urlString) throws IOException {
..........
}
}
公共类下载XmlTask扩展AsyncTask{
私有OnSendResultInterface mSendResult;mSendResult变量未在任何地方初始化。由于侦听器部分有点失真,您能否重新安排您的代码。另外,请检查在激发方法sendResult
时是否初始化了mListview
。仅此而已。我没有做任何额外的工作