Android Listview adapter hatası
3 tab kısmndan oluşan uygulamamın birinci tab(sekmesinde) sitedeki duyuruları Jsoup kütüphanesi vasıtasıyla çeken yapıyı çalıştıran kodu çalıştırmak istediğimde
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
at com.onder.eyup.deneme3.tab1duyuru$VeriGetir.onPostExecute(tab1duyuru.java:82)
at com.onder.eyup.deneme3.tab1duyuru$VeriGetir.onPostExecute(tab1duyuru.java:63)
hatalarını almaktayım.
Debug çıktılarındaki
at com.onder.eyup.deneme3.tab1duyuru$VeriGetir.onPostExecute(tab1duyuru.java:82) =82.satır lv.setAdapter(adapter) satırını
63. satır ise
at com.onder.eyup.deneme3.tab1duyuru$VeriGetir.onPostExecute(tab1duyuru.java:63)=public class VeriGetir extends AsyncTask<Void ,Void ,Void > satırını göstermekte
benim hatadan anladığım kadarıyla protected void onPostExecute(Void aVoid)
bloğundaki lv.setAdapter(adapter); deki adapter i boş (null) görüyor ama neden yardımcı olabiirmisiniz?
public class tab1duyuru extends Fragment {
private ProgressDialog progressDialog;
private static ListView lv;
public static ArrayList ar = new ArrayList();
private static Elements duyuru;
public static String URL = "http://w3.bilecik.edu.tr/bilgisayar/";
public ArrayAdapter adapter;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab1duyuru, container, false);
ListView lv = (ListView) rootView.findViewById(R.id.liste);
adapter = new ArrayAdapter((getActivity()), android.R.layout.simple_list_item_activated_1,ar);
return rootView;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
new VeriGetir().execute();
}
public class VeriGetir extends AsyncTask<Void ,Void ,Void > {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(getActivity());
progressDialog.setTitle("DUYURULAR");
progressDialog.setMessage("Lütfen bekleyiniz");
progressDialog.setIndeterminate(false);
progressDialog.show();
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
lv.setAdapter(adapter);
progressDialog.dismiss();
}
@Override
protected Void doInBackground(Void... voids) {
try {
org.jsoup.nodes.Document doc = Jsoup.connect(URL).timeout(30 * 1000).get();
duyuru = doc.select("td a");
for (int i = 0; i < duyuru.size(); i++) {
ar.add(duyuru.get(i).text());
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
}