ö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.
Jsoup verileri listView'a yazdırmada yardıma ihtiyacım var.
5
●559
- 23-09-2016, 16:47:10Üyeliği durdurulduElinde ü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@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:42public 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