我的json输出:
[{"FirstName":"childname2"},{"FirstName":"childname4"}]我尝试用json数据填充我的listview,我使用post方法得到了这些数据,通过这样做,当我试图通过使用for循环在列表中传递这个值时,我在postexecute.And中得到了json的总输出--它没有显示任何错误,也没有填充我的列表、建议、建议,
我的java:
private ListView lv=(ListView) findViewById(R.id.listView1);
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
Toast.makeText(Certify_Child_Count.this,result, Toast.LENGTH_LONG).show();
if (result.equals("[]"))
{
Toast.makeText(Certify_Child_Count.this,
"Wrong Username or Password", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(Certify_Child_Count.this,result, Toast.LENGTH_LONG).show();
JSONArray arr=new JSONArray();
JSONObject obj = null;
//ArrayAdapter<String> adapter=new ArrayAdapter<String>(Certify_Child_Count.this, android.R.layout.simple_list_item_1, list);
//lv.setAdapter(adapter);
for(int i=0;i<arr.length();i++)
{
Toast.makeText(Certify_Child_Count.this,"going into for loop", Toast.LENGTH_LONG).show();
try {
obj=arr.getJSONObject(i);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
list.add(obj.getString("FirstName"));
Toast.makeText(Certify_Child_Count.this,obj.getString("FirstName"), Toast.LENGTH_LONG).show();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}发布于 2014-03-13 14:49:16
您需要使用Adapter来填充ListView。
您需要创建一个类来实现ArraryAdapters<>,例如:
public class ListAdapters extends ArraryAdapters<string>该类实现了一个getView()方法。这里,您需要填充一个listview。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = context.getLayoutInflater();
convertView = inflater.inflate(R.layout.list_rows, null);
holder = new ViewHolder();
holder.tectview = (TextView) convertView
.findViewById(R.id.questionary_name);
convertView.setTag(holder);
}
holder = (ViewHolder) convertView.getTag();
String s = items[position];
holder.tectview.setText(s);
return convertView;
}发布于 2014-03-13 14:29:43
你的适配器在哪里?您需要一个适配器来显示列表中的数据。如果是单个文本,则可以使用基本适配器,并在每次完成请求和解析数据时通知它。
发布于 2014-03-13 14:47:33
你应该换衣服
JSONArray arr=new JSONArray();转到
JSONArray arr=new JSONArray(result);您正在创建一个空的JSONArray,而不添加结果。
https://stackoverflow.com/questions/22381273
复制相似问题