Android 将数据库的每一行映射到listview的每一行
我想将每个数据库放大到listview的每一行。。。 实际上,我的问题是我能够从数据库中获取数据,但它并没有显示在列表视图中 我的代码是:Android 将数据库的每一行映射到listview的每一行,android,mysql,android-widget,android-listview,Android,Mysql,Android Widget,Android Listview,我想将每个数据库放大到listview的每一行。。。 实际上,我的问题是我能够从数据库中获取数据,但它并没有显示在列表视图中 我的代码是: try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://10.0.2.2/meetingschedular/fetchmeet.php?uid="+vwname.
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));}
试试看
{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://10.0.2.2/meetingschedular/fetchmeet.php?uid=“+vwname.getText().toString());
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
is=entity.getContent();
}
捕获(例外e)
{
Toast.makeText(getBaseContext(),e.toString(),Toast.LENGTH_LONG).show();
}
//将响应转换为字符串
尝试
{
BufferedReader=新的BufferedReader(新的InputStreamReader(即“UTF-8”));
sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null)
{
sb.追加(第+行“\n”);
}
is.close();
结果=sb.toString();
}
捕获(例外e)
{
Toast.makeText(getBaseContext(),e.toString(),Toast.LENGTH_LONG).show();
}
//结束将响应转换为字符串
尝试
{
JSONArray jArray=新JSONArray(结果);
对于(int i=0;iadd
在for循环的开头,尝试在listview中添加这一行:(可能在listview中看不到分隔符)
我已经这样做了,但没有用,数据库的所有行都显示在一个listview行中。编辑将sb
更改为s
。尝试对变量使用良好的命名。每次循环运行时,您当前的代码都会追加s
,因此您需要重新初始化变量s
。如果您做了任何更改在您的代码中,请更新问题
s = new StringBuilder();
android:divider="#000000"
android:dividerHeight="0.5dp"
android:cacheColorHint="@android:color/transparent"