import java.util.List;
import com.lidroid.xutils.BitmapUtils;
重写适配器MyAdapter
import android.content.Context;import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter {
//private List<Feed> feeds;
private List<Feed> feeds;
private Context context;
public MyAdapter(List<Feed> feeds, Context context) {
this.feeds = feeds;
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return feeds.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return feeds.get(arg0);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView==null){
holder=new ViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.item, null);
holder.title=(TextView) convertView.findViewById(R.id.title);
holder.time=(TextView) convertView.findViewById(R.id.time);
holder.content=(TextView) convertView.findViewById(R.id.content);
holder.image=(ImageView) convertView.findViewById(R.id.pic);
convertView.setTag(holder);
}
else{
holder=(ViewHolder) convertView.getTag();
}
holder.title.setText(feeds.get(position).getData().getSubject());
holder.content.setText(feeds.get(position).getData().getSummary());
holder.time.setText(feeds.get(position).getData().getChanged());
String path="http://litchiapi.jstv.com"+feeds.get(position).getData().getCover();
BitmapUtils utils=new BitmapUtils(context); //xUtils-2.6.13
utils.display(holder.image, path);
return convertView;
}
class ViewHolder{
TextView title,content,time;
ImageView image;
}
}
主activity类
package com.example.myday07_01_json;
import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView listview;
private String path ="http://litchiapi.jstv.com/api/GetFeeds?column=1&PageSize=10&pageIndex=1&val=100511D3BE5301280E0992C73A9DEC41";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (ListView) findViewById(R.id.list);
loadData();
}
public void loadData(){
HttpUtils utils=new HttpUtils(); //xUtils-2.6.13
utils.send(HttpMethod.GET, path, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
// TODO Auto-generated method stub
Content content = JSONObject.parseObject(arg0.result, Content.class); //fastjson-1.1.34.android
if(content.getStatus().equals("ok")){
Paramz paramz=content.getParamz();
List<Feed> feeds=paramz.getFeeds();
MyAdapter adapter =new MyAdapter(feeds, MainActivity.this);
listview.setAdapter(adapter);
//listview.setAdapter(adapter);
}
}
});
}
}