Turkcell | Geleceği Yazanlar

Soru & Cevap

ListView ile jsoup veri çekme

24.09.2016 - 11:35

Merhaba yazılımcı kardeşlerim benim küçük bir sorum var. Ben yeni öğreniyorum her geçen gün kenimi geliştiriyorum ama tabiki yardımsız olmuyor. Şimdi benim Jsoup olarak veriyi çekip listView'a verileri yazdırmam grekiyor. İnternet erişim izni falan o kolay işler tamamdır ama parse ederken sorun çıkıyor. Kodlarımı inceleyip hatamı bulursanız ve düzeltmeme yardım ederseniz gerçekten çok mutlu olurum. Şimdiden hepinize çok teşekkürler. 

 private class Deneme extends AsyncTask<Void, Void, Void> {
        ProgressDialog progressDialog;
        String URL = "https://www.ilansahibi.com";
        String veri;
        String deneme;


        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            progressDialog = new ProgressDialog(MainActivity.this);
            progressDialog.setTitle("ilansahibi.com");
            progressDialog.setMessage("Yükleniyor ..");
            progressDialog.setIndeterminate(false);
            progressDialog.show();
        }

        @Override
        protected Void doInBackground(Void... params) {


            try {
                Document doc = Jsoup.connect(URL).get();
                Elements elements = doc.select("div[class =advert-list inside]");
                elements.select("strong");
                veri = elements.html();
                deneme = Jsoup.parse(veri).text();
            } catch (IOException e) {
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            List<String> deneme = new ArrayList<String>();
            ArrayAdapter<String> veriAdaptoru = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, );
            listView.setAdapter(veriAdaptoru);
            progressDialog.dismiss();
        }
    }

Deneme adında bir class oluşturdum. kodları burda ve dediğim gibi birazcık acemiyim açıklayarak söylerseniz hatamı çok sevinirim. 

3522 Görüntülenme

1 Cevap

Mehmet Sefa BALIK
25.09.2016 - 02:26

Merhabalar,

Kodunuza baktığımda iki adet sorun gözüme çarpıyor öncelikle bunlardan bahsedeceğim:

1. ss'te görüyoruz ki deneme isimli bir string tanımlamışsınız. Ve bu stringe pars ettiğiniz veriyi yazmışsınız.​ Fakat 2. ss'te deneme isimli string list tanımladığınızı görüyoruz, ikisinden biri gereksiz. ayrıca ArrayAdapter'a deneme isimli stringi geçirmemişsiniz.(3. ss). ArrayAdapter'ın listview de göstereceği veriyi bilmesi için sizin bu veriyi arrayadapter a bildirmeniz gerekir.

Bu durumda tavsiyem:​

  • ​deneme isimli string listi silin
  • ArrayAdapter'ın son değiskenini deneme olarak değiştirin(android.R.id.text1 yerine deneme yazın ve sonundaki virgülü kaldırın)
  • kodu çalıştırmayı deneyin. eğer çalışmazsa logcat te yazan sorunla birlikte amaçladığınız sonucu sorunuza ekleyin.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.