我试图从数据库检索数据使用json..and我成功获取数据,但它不显示到我的列表视图。
这里是logcat的:Json数据不会显示在ListView中
04-13 20:01:42.205 5230-5252/? I/Sucess: {"keranjang":[{"id_keranjang":"1","kd_inventaris":"AIKC100-2","judul_buku":"judul_buku"}],"success":1,"message":"Ambil data di tabel keranjang sukses"}
04-13 20:01:42.205 5230-5252/? W/System.err: org.json.JSONException: No value for id_keranjang
04-13 20:01:42.205 5230-5252/? W/System.err: at org.json.JSONObject.get(JSONObject.java:389)
04-13 20:01:42.205 5230-5252/? W/System.err: at org.json.JSONObject.getInt(JSONObject.java:478)
04-13 20:01:42.205 5230-5252/? W/System.err: at com.example.yong.p_akakom.PageFragment2$Ambil_Buku_Keranjang.doInBackground(PageFragment2.java:86)
04-13 20:01:42.205 5230-5252/? W/System.err: at com.example.yong.p_akakom.PageFragment2$Ambil_Buku_Keranjang.doInBackground(PageFragment2.java:69)
04-13 20:01:42.206 5230-5252/? W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295)
04-13 20:01:42.206 5230-5252/? W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-13 20:01:42.206 5230-5252/? W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
04-13 20:01:42.206 5230-5252/? W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
04-13 20:01:42.206 5230-5252/? W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
04-13 20:01:42.206 5230-5252/? W/System.err: at java.lang.Thread.run(Thread.java:818)
的AsyncTask:
class Ambil_Buku_Keranjang extends AsyncTask<String,String,String> {
ArrayList<HashMap<String, String>> daftarBukuKeranjang = new ArrayList<HashMap<String, String>>();
@Override
protected String doInBackground(String... params) {
String id = params[0];
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair(TAG_ANGGOTA,id));
json = jsonParser.makeHttpRequest(URL,"POST",pairs);
try{
buku_keranjang = json.getJSONArray("keranjang");
success = json.getInt(TAG_SUCCESS);
if(success == 1){
Log.d("Success","Sukess tampilkan data buku keranjang");
Log.i("Sucess",json.toString());
for(int i=0;i<buku_keranjang.length();i++){
JSONObject c = new JSONObject();
HashMap<String,String> map = new HashMap<String,String>();
int id_keranjang = c.getInt(TAG_KERANJANG);
String kd_inventaris = c.getString(TAG_INVENTARIS);
String judul_buku = c.getString(TAG_JUDUL);
map.put(TAG_KERANJANG,String.valueOf(id_keranjang));
map.put(TAG_INVENTARIS,kd_inventaris);
map.put(TAG_JUDUL,judul_buku);
daftarBukuKeranjang.add(map);
}
}
}catch (JSONException e){
e.printStackTrace();
}
return TAG_MESSAGE;
}
@Override
protected void onPostExecute(String s) {
if(s != null && success==1){
adapter = new SimpleAdapter(getActivity().getApplicationContext(),daftarBukuKeranjang,
R.layout.list_keranjang,new String[]{TAG_KERANJANG,TAG_INVENTARIS,TAG_JUDUL},
new int[]{R.id.id_keranjang,R.id.kd_inventaris_keranjang,R.id.judul_buku_keranjang});
listPesan.setAdapter(adapter);
}
}
}
而我的列表布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/id_keranjang"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/kd_inventaris_keranjang"
android:layout_below="@+id/id_keranjang"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/judul_buku_keranjang"
android:layout_below="@+id/kd_inventaris_keranjang"
android:layout_alignParentStart="true" />
</RelativeLayout>
请帮助....感谢..
认真吗? 'JSONObject c = new JSONObject();'(创建空的json对象)然后'c.getInt(TAG_KERANJANG)'所以你期望什么? ...显然,你应该从一个阵列没有创建一个新的对象 – Selvin
@Selvin是啊,我的坏...谢谢 –
答案你接受是错误的,因为它是你所做的一样 –