Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Sertifikalar & Başarılar
Kullanıcıya ait test sonucu bulunmamaktadır.
Dil Becerileri
Son Forum Aktiviteleri
4Duyuru sistemi bildiriim gönderme
Uygulamamda bir web sitesinde bulunan duyuruları çekip kullanıcılara sunuyorum bu web sitesine yeni bir duyuru eklendiğinde kullanıcıya bildirim yollamak istiyorum bunu nasıl gerçekleştirebilirim? Firebase ile bildirim gönderiliyor araştırmalarımdan gördüğüm kadarıyla hazır isteğe göre bildirim gönderiliyor ama ben sunucu tarafında duyuru eklendiğini kontrol edip kullanıcıyı bilgilendirmek istiyorum.
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;
}
}
}