2013-04-30 82 views
0

我想将每个数据库放到listview的每一行...... 实际上,我的问题是我能够从数据库中获取数据,但它不能在列表视图中显示出来 my代码:将数据库的每一行映射到listview的每一行

try 
    {   
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("http://10.0.2.2/meetingschedular/fetchmeet.php?uid="+vwname.getText().toString()); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity entity = response.getEntity(); 
     is = entity.getContent(); 
     } 
     catch(Exception e) 
     { 
      Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show(); 
     } 

     //Convert response to string 
     try 
     { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); 
      sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) 
       { 
        sb.append(line + "\n"); 

       } 
       is.close(); 
       result = sb.toString();     
     } 
     catch(Exception e) 
     { 
      Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show(); 
     } 
     //END Convert response to string 

      try 
      {    
       JSONArray jArray = new JSONArray(result); 

        for(int i=0;i<jArray.length();i++) 
        { 
         JSONArray innerJsonArray = jArray.getJSONArray(i); 
         JSONObject json_data = innerJsonArray.getJSONObject(0);       
         String at1=json_data.getString("title"); 
         String at= json_data.getString("mdate"); 
         String at2=json_data.getString("mtime"); 
         String at3=json_data.getString("venue"); 
         String at4=json_data.getString("organiser"); 
         s.append("\nTitle:"+at1); 
         s.append("\ndate:"+at); 
         s.append("\nTime:"+at2); 
         s.append("\nVenue:"+at3); 
         s.append("\nOrganiser:"+at4);      
         r.add(s.toString());        
        } 

       l.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, r));} 

其显示这样

Listview

我想seperately显示每一行。所有行都显示在一行中。 PLS HLP我..

回答

1

添加

s = new StringBuilder(); 

在for循环

+0

我已经做到了,但没有用,数据库的所有行都显示在单个listview行中。 – priya89 2013-04-30 07:25:54

+0

编辑将'sb'改为's'。尝试为变量使用良好的命名。每当循环运行时,您的当前代码都会附加's',因此您需要重新初始化变量's'。如果你已经改变了你的代码中的任何东西,请更新 – Naveen 2013-04-30 07:36:48

+0

这个问题,非常感谢你的工作....... – priya89 2013-04-30 07:43:05

0

尝试在你的列表视图中加入这一行开始:(这是可能的,你不能看到分隔在ListView )

android:divider="#000000" 
android:dividerHeight="0.5dp" 
android:cacheColorHint="@android:color/transparent" 
+0

没有先生的分隔线确定.. – priya89 2013-04-30 07:27:28

相关问题