1.复制3个工具类
XListView
XListViewFooter
XListViewHeader
2.复制布局
scenic_item_list.xml
xlistview_footer.xml
xlistview_header.xml
3.Strings
<string name="xlistview_header_hint_normal">下拉刷新</string> <string name="xlistview_header_hint_ready">松开刷新数据</string> <string name="xlistview_header_hint_loading">正在加载...</string> <string name="xlistview_header_last_time">上次更新时间:</string> <string name="xlistview_footer_hint_normal">查看更多</string> <string name="xlistview_footer_hint_ready">松开载入更多</string>
4.刷新的图片配置
5.XListView+ImageLoader+DrawerLayout+AsyncTask
List<Data.DataBean> list=new ArrayList<>(); private DrawerLayout draw; private XListView xlv; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initview(); initDate(); adapter = new MyAdapter(); xlv.setAdapter(adapter); } private void initview() { draw = (DrawerLayout) findViewById(R.id.draw); xlv = (XListView) findViewById(R.id.xlv); xlv.setXListViewListener(this); xlv.setPullLoadEnable(true); } private void initDate() { new MyAsyncTask().execute("http://api.expoon.com/AppNews/getNewsList/type/1/p/1"); } class MyAsyncTask extends AsyncTask<String,Void,String>{ @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson=new Gson(); Data data = gson.fromJson(s, Data.class); List<Data.DataBean> data1 = data.getData(); list.addAll(data1); adapter.notifyDataSetChanged(); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } @Override protected String doInBackground(String... params) { return new NetWorkUtils().getJson(params[0]); } } class MyAdapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView=View.inflate(MainActivity.this,R.layout.item,null); TextView tv= (TextView) convertView.findViewById(R.id.it_tv); ImageView img= (ImageView) convertView.findViewById(R.id.it_img); tv.setText(list.get(position).getNews_title()); ImageLoader.getInstance().displayImage(list.get(position).getPic_url(),img); return convertView; } } public void onload(){ xlv.stopLoadMore(); xlv.stopRefresh(); xlv.setRefreshTime("刚刚"); } @Override public void onRefresh() { list.clear(); initDate(); onload(); } @Override public void onLoadMore() { initDate(); onload(); }