【发布时间】:2018-03-18 11:20:01
【问题描述】:
我有一个应用程序,它给我带来了 sqlite 的数据并将它们呈现在一个片段中的列表视图中,我使用 asynctask 来执行此操作,当我进行调试时没有错误,当我运行我启动的应用程序时
java.lang.NullPointerException 错误:尝试在空对象引用上调用虚拟方法“void android.widget.ListView.setAdapter (android.widget.ListAdapter)”。
为什么会这样?
片段
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_frm_lst_cobertura, container, false);
}
异步任务
public class BckListCobertura extends AsyncTask<String, Fila_Lista_cobertura, String> {
ActivityMenu activity;
ListView listViewCobertura;
public BckListCobertura(ActivityMenu activity) {
this.activity = activity;
this.delegate = activity;
}
@Override
protected String doInBackground(String... params) {
fila_lista_cobertura_adapter = new Fila_Lista_cobertura_adapter(activity, R.layout.row_lst_cobertura, colorlista);
listViewCobertura = (ListView) activity.findViewById(R.id.lstvCobertura);
}
@Override
protected void onPostExecute(String result) {
listViewCobertura.setAdapter(fila_lista_cobertura_adapter);
delegate.processFinishListCobertura(result);
}
【问题讨论】:
-
doInBackground方法不能做UI部分,需要在onCreateView方法中找到id试试。
标签: android listview android-asynctask