
这是我的Json:
[ { "Result": "8:30,21","Meeting": "Antwerp olympics","Event": "3000m","Date": "30/05/2013" },{ "Result": "008,32","Event": "Long Jump",{ "Result": "6,35","Event": "High Jump",{ "Result": "5,00","Event": "discus Throw","Date": "30/05/2013" }] 这是我的AndroID代码
Gson gson = new Gson();Result[] res = gson.fromJson(results,Result[].class);ListVIEw lv1 = (ListVIEw) getVIEw().findVIEwByID(R.ID.sampleListVIEw);String[] values = new String[] { }; //valuesArrayAdapter<String> files = new ArrayAdapter<String>(getActivity(),androID.R.layout.List_content,values);lv1.setAdapter(files); 通过GSON获得Json结果,我用一个简单的Json做到了.现在我不知道如何在ListvIEw中实现这个JsON结果.我应该如何填充String []值?
提前致谢
解决方法 创建一个Class named EventEntity或您的选择import com.Google.gson.annotations.Serializedname;public class EventEntity{ @Serializedname("Result") public int Result; @Serializedname("Meeting") public String Meeting; @Serializedname("Event") public String Event; @Serializedname("Date") public String Date; public EventEntity() {}} 并将ListvIEw数据绑定代码更改为此
ListVIEw lv1 = (ListVIEw) getVIEw().findVIEwByID(R.ID.sampleListVIEw);Gson gson = new Gson();List<EventEntity> events = (List<EventEntity>) gson.fromJson(results,new Typetoken<EventEntity>>() {}.getType());ArrayAdapter<EventEntity> files = new ArrayAdapter<EventEntity>(..........);lv1.setAdapter(files); 编辑,
您应该创建自定义适配器类和行布局
public class MyCustomAdapter extends ArrayAdapter<EventEntity> { private final List<EventEntity> List; private final Activity context; public MyCustomAdapter (Activity context,List<EventEntity> List) { super(context,R.layout.rowlayout,List); this.context = context; this.List = List; } static class VIEwHolder { protected TextVIEw eventTitle; protected TextVIEw eventDate; } @OverrIDe public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) { VIEw vIEw = null; LayoutInflater inflator = context.getLayoutInflater(); vIEw = inflator.inflate(R.layout.rowlayout,null); final VIEwHolder vIEwHolder = new VIEwHolder(); vIEwHolder.eventTitle = (TextVIEw) vIEw.findVIEwByID(R.ID.label); vIEwHolder.eventDate = (TextVIEw) vIEw.findVIEwByID(R.ID.date); vIEw.setTag(vIEwHolder); VIEwHolder holder = (VIEwHolder) vIEw.getTag(); holder.eventTitle.setText(List.get(position).Event); holder.eventDate.setText(List.get(position).Date); return vIEw;} 总结 以上是内存溢出为你收集整理的使用Gson在Android中使用JSON到ListView全部内容,希望文章能够帮你解决使用Gson在Android中使用JSON到ListView所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)