J'ai une application qui me rapporte les données de sqlite et les présente dans une liste listée dans un fragment, j'utilise une asynctask pour cela, quand je débogue il n'y a pas d'erreur, quand je lance l'application je bootListView n'est pas initialisé dans AsyncTask
erreur java.lang.NullPointerException: tentative d'invoquer la méthode virtuelle « vide android.widget.ListView.setAdapter (android.widget.ListAdapter) » sur une référence d'objet null.
Pourquoi cela se produit-il?
Fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_frm_lst_cobertura, container, false);
}
AsyncTask
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);
}
Vous ne pouvez pas faire la partie UI dans la méthode doInBackground. Vous devez trouver l'ID dans la méthode onCreateView et essayer. –