Code Bye

求指导答fragment 切换过快报错

Fragment 里面有listView 是从网络上获取数据显示,网络上获取数据有延迟可能要1秒左右才能显示 ,当数据还没有显示出来时,切换到其他的 fragment 就会报错如下:
FATAL EXCEPTION: main
java.lang.NullPointerException
at android.view.LayoutInflater.from(LayoutInflater.java:210)
at com.xdj.alat.adapter.NeedSupplyAdapter.<init>(NeedSupplyAdapter.java:23)
at com.xdj.alat.fragment.ServiceFragment$1.handleMessage(ServiceFragment.java:75)
本人用的handler传的数据
Handler handler = new Handler() {
public void handleMessage(Message msg) {
String data = (String) msg.obj;
list_need = new ArrayList<Info>();
if (adapter == null) {
adapter = new NeedSupplyAdapter(getActivity(), list_need);
needlist.setAdapter(adapter);
}
ServiceNeedJson.serviceneedjson(data, list_need);
}
};
求高手解答下这种要怎么处理下。还有个问题时,当本人访问服务器 ,服务器却没有打开,当开了时这边只要访问过也会报错。
解决方案

20

很有可能是context或list是空的,
建议加个判断试试

20

引用:
Quote: 引用:
Quote: 引用:
Quote: 引用:

NeedSupplyAdapter.java:23行,
引用布局文件报的NullPointerException。就目前log,直接异常和fragment无关。

这里的代码是这样的
public NeedSupplyAdapter(Context context, List<Info> list) {
this.context = context;
this.list = list;
inflater = LayoutInflater.from(context);
}

这样的话,就只有一种可能,看看context。

当获取到数据并显示出来后,再点击切换fragment就不会报错,‘
当listView没显示时,切换fragment就会包错

你是在fragment中访问网络数据,再显示给listview
假如数据没有处理完,切换fragment时,你把这个fragment是怎么处理的?
你把另外的activity中关键代码再贴一下看看。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求指导答fragment 切换过快报错