添加依赖
compile 'org.xutils:xutils:3.5.0'
main布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.bwei.com.toutiao.XListView android:id="@+id/xlist" android:dividerHeight="1dp" android:layout_width="match_parent" android:layout_height="match_parent"></com.bwei.com.toutiao.XListView> </LinearLayout>
public class Fragmeng1 extends Fragment implements XListView.IXListViewListener{ XListView mylist; List<Frag1Bean.DataBean>list = new ArrayList<>(); MyAdapter adapter; String path = "http://ic.snssdk.com/2/article/v25/stream/?count=20&min_behot_time=1455521444&bd_city=%E5%8C%97%E4%BA%AC%E5%B8%82";
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.fragment1,null); //初始化控件 mylist = (XListView) view.findViewById(R.id.xlist); //设置加载监听 mylist.setXListViewListener(this); //设置上拉加载下拉刷新 mylist.setPullLoadEnable(true); mylist.setPullRefreshEnable(true); RequestParams params = new RequestParams(path); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Gson gson = new Gson(); Frag1Bean bean = gson.fromJson(result,Frag1Bean.class); list = bean.data; adapter = new MyAdapter(getActivity(),list); mylist.setAdapter(adapter); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); return view; } @Override public void onRefresh() { list.clear(); mylist.stopLoadMore(); mylist.stopRefresh(); } @Override public void onLoadMore() { mylist.stopLoadMore(); mylist.stopRefresh(); adapter.notifyDataSetChanged(); } }
适配器
public class MyAdapter extends BaseAdapter{ Context context; List<Frag1Bean.DataBean>list = new ArrayList<>(); ImageLoader loader; DisplayImageOptions options; public MyAdapter(Context context, List<Frag1Bean.DataBean> list) { this.context = context; this.list = list; loader = ImageLoader.getInstance(); ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(context); loader.init(configuration); options = new DisplayImageOptions.Builder() .cacheInMemory(true) .cacheOnDisk(true) .displayer(new FadeInBitmapDisplayer(200)) .build(); } public void addData( List<Frag1Bean.DataBean>list){ this.list.addAll(list); notifyDataSetChanged(); } //更新数据; public void updateData( List<Frag1Bean.DataBean>list){ this.list.clear(); addData(list); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if (view==null){ holder = new ViewHolder(); view = View.inflate(context,R.layout.frag1_item,null); holder.abstrac = (TextView) view.findViewById(R.id.abstrac); holder.img = (ImageView) view.findViewById(R.id.img); view.setTag(holder); }else { holder = (ViewHolder) view.getTag(); } holder.abstrac.setText(list.get(i).title); loader.displayImage(list.get(i).source_avatar,holder.img,options); return view; } class ViewHolder{ TextView abstrac; ImageView img; } }