SubjectProtocol
-
public class SubjectProtocol extends BaseProtocol<List<SubjectInfo>>{ @Override public List<SubjectInfo> paserJson(String json) { List<SubjectInfo> subjectInfos=new ArrayList<SubjectInfo>(); try { JSONArray jsonArray=new JSONArray(json); for(int i=0;i<jsonArray.length();i++){ JSONObject jsonObject = jsonArray.getJSONObject(i); String des=jsonObject.getString("des"); String url = jsonObject.getString("url"); SubjectInfo info=new SubjectInfo(des, url); subjectInfos.add(info); } return subjectInfos; } catch (JSONException e) { e.printStackTrace(); return null; } } @Override public String getKey() { return "subject"; } }
SubjectFragment
public class SubjectFragment extends BaseFragment { private List<SubjectInfo> datas; @Override public View createSuccessView() { ListView listView=new ListView(UiUtils.getContext()); listView.setAdapter(new SubjectAdapter()); return listView; } private class SubjectAdapter extends BaseAdapter{ @Override public int getCount() { return datas.size(); } @Override public Object getItem(int position) { return datas.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view; ViewHolder holder; if(convertView!=null){ view=convertView; holder=(ViewHolder) view.getTag(); }else{ view=UiUtils.inflate(R.layout.item_subject); holder=new ViewHolder(); holder.item_icon=(ImageView) view.findViewById(R.id.item_icon); holder.item_txt=(TextView) view.findViewById(R.id.item_txt); view.setTag(holder); } SubjectInfo info=datas.get(position); holder.item_txt.setText(info.getDes()); bitmapUtils.display(holder.item_icon, HttpHelper.URL+"image?name="+info.getUrl()); return view; } } class ViewHolder{ ImageView item_icon; TextView item_txt; } @Override protected LoadResult load() { SubjectProtocol protocol=new SubjectProtocol(); datas = protocol.load(0); return checkData(datas); } }