CustomListview veri ekleme sorunum
Arkadaşlar Merhaba
birtane customlistview oluşturdum internetten json olarak çektiğim veriyi listiev bi ekliyo bi eklemiyor sorunu bir türlü çözemedim yardım ederseniz sevinirim.
Kod kısmında nerde hata olduğunu yazdım
Kodlarım:
package vehbiakdogan.com.nobetcieczanebul;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.widget.ListView;
import android.widget.Toast;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static java.lang.Thread.sleep;
public class Anasayfa extends AppCompatActivity {
final List<Eczane> eczaneler=new ArrayList<Eczane>();
final static String URI = "http://vehbiakdogan.com/androidProjeler/nobetciEczane/nobetciEczanecek.php";
ListView eczaneListesi;
JSONObject json;
ProgressDialog pDialog;
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_anasayfa);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitle("Nöbetçi Eczaneler");
toolbar.setTitleTextColor(R.color.beyaz);
eczaneListesi = (ListView) findViewById(R.id.listView);
// eczaneler.add(new Eczane("Erzurum", "Merkez"));
pDialog = new ProgressDialog(Anasayfa.this);
pDialog.setTitle("Lütfen bekleyiniz.");
pDialog.setMessage("Nöbetçi Eczaneler Çekiliyor...");
pDialog.setIndeterminate(true);
pDialog.setCancelable(false);
pDialog.show();
new AsyVeriCek().execute("baslik", "adres");
eczaneListesi.setAdapter(new EczaneAdapter(Anasayfa.this, eczaneler));
}
protected JSONObject eczaneOku() throws JSONException, IOException {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(URI); // get sorgusu oluştur
HttpResponse response = client.execute(get); // cevap al
StatusLine durum = response.getStatusLine(); // sayfa durumu
if(durum.getStatusCode() == 200) {
HttpEntity e = response.getEntity(); // veriyi aldık
String data = EntityUtils.toString(e); // tüm verileri aldık
JSONObject veri = new JSONObject(data); // ilk elemanı aldık
return veri;
}else {
Toast.makeText(getApplicationContext(),"Sayfa Açılamadı",Toast.LENGTH_SHORT).show();
}
return null;
}
public class AsyVeriCek extends AsyncTask <String,String,String> {
@Override
protected String doInBackground(String... params) {
try {
json = eczaneOku();
for(int i=1;i<json.length();i++) {
JSONObject icerik = json.getJSONObject(""+i+"");
String data = icerik.getString(params[0]);
String data2 = icerik.getString(params[1]);
Log.i("dd",data);
Log.i("dd2",data2);
// burda loglarda veriler geliyor ama alttaki eczaneler.add kısmında bazen ekliyor bazen eklemiyor.
eczaneler.add(new Eczane(data, data2));
}
pDialog.dismiss();
return null;
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String data) {
}
}
}