• 23-09-2016, 14:45:30
    #1
    öncelikle merhaba. Detay vererek anlatmaya çalışacağım. Benim bir ListView nesnem var. Kodları bu
    ListView listView = (ListView)findViewById(R.id.listView);
    ArrayAdapter<String> veriAdaptoru = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, Deneme);
    listView.setAdapter(veriAdaptoru);


    bu kodları yazdıktan sonra jsoup ile verileri çekmek için Deneme isminde bir class oluşturdum.

    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) {
    //bu kısma ne yazmalıyım?
    }
    }


    burda verileri çekmeye çalıştım ama listView'a nasıl yazdırmalıyım? onPost' ne yazabilirim? Yardımlarınızı bekliyorum şimdiden teşekkürler.
    Not: internet erisim izni verdim.
  • 23-09-2016, 14:49:30
    #2
    Yukarda listviewin altındaki tüm kodları yani array adapter ve listview.setadapter kısmını oraya yazmalisiniz

    GM 5 Plus d cihazımdan Tapatalk kullanılarak gönderildi
  • 23-09-2016, 16:18:17
    #3
    Çok teşekkür ederim ve son bişey soracağım
    ArrayAdapter<String> veriAdaptoru = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, );
    bu kısımda o sona ne yazmam gerekiyor? deneme yazdığımda parsing error hatası alıyorum.
  • 23-09-2016, 16:47:10
    #4
    Üyeliği durduruldu
    Elinde ülkelerin olduğu bir array olsun
    String[] ülkeler = {"Turkiye", "Rusya", "Amerika"....};
    ArrayAdapter kodunun en son kısmına ülkeler yazarsan ListView'e ülkeler arrayinin içindeki stringleri yazdırır.
    Yani o satırda adaptöre neleri ekleyeceğini yazıyorsun.
    doInBackground kısmında bir arraye siteden aldığın verileri yazdır.
    onPostExecute(İşlem tamamlandığında çalışan fonksiyondu yanlış hatırlamıyorsam) fonksiyonu içerisinde de @eyupakky 'nin dediği gibi adaptörünü oluştur ve listview'e tanımla.
  • 23-09-2016, 16:51:20
    #5
    @bekmekci_ açıklamış aslında son kısımda listeleyecegin şey olur yani string tipinde bir list olur
    List <String> deneme = New ArrayList <string> ();

    Bu listenin içinin dolu olması gerekiyor onuda parse kısmında doldurmalisin

    GM 5 Plus d cihazımdan Tapatalk kullanılarak gönderildi
  • 24-09-2016, 13:25:42
    #6
    public class MainActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener {

    ListView listView;
    public ArrayList<String> deneme = new ArrayList<String>();
    private ArrayAdapter<String> adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    new Deneme().execute();
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, deneme);

    //ListView nesnesini kukllanmak için gerekli bütün kodlar burda
    ListView listView = (ListView)findViewById(R.id.listView);



    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    Snackbar.make(view, "Bizimle 05xxxxxxxxx numarası ile iletişime geçebilirsiniz.", Snackbar.LENGTH_LONG)
    .setAction("Action", null).show();
    }
    });

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
    this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(t his);
    }



    //deneme adında bi class oluşturarak jsoup'u çekmeye çalışacağım.
    private class Deneme extends AsyncTask<Void, Void, Void> {
    ProgressDialog progressDialog;
    String URL = "https://www.ilansahibi.com";
    String veri;
    String deneme;


    @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) {

    listView.setAdapter(adapter);
    progressDialog.dismiss();
    }
    }



    bi yerde sorun var ama çözemedim ya nerde yanlış yapıyorum. Görünürde bi hata bulamadım ama çalıştırdıpımda hata veriyo ve kapanıyo uygulama