//activitymain

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.duotiaomu.MainActivity">    <com.handmark.pulltorefresh.library.PullToRefreshScrollView        android:id="@+id/refresh_scroll_view"        android:layout_width="match_parent"        android:layout_height="match_parent">        <LinearLayout            android:layout_width="match_parent"            android:layout_height="match_parent"            android:orientation="vertical">            <com.youth.banner.Banner                android:id="@+id/banner"                android:layout_width="match_parent"                android:layout_height="250dp">com.youth.banner.Banner>            <com.example.duotiaomu.MyListView                android:id="@+id/mlv"                android:layout_width="match_parent"                android:layout_height="match_parent">            com.example.duotiaomu.MyListView>        LinearLayout>    com.handmark.pulltorefresh.library.PullToRefreshScrollView>RelativeLayout>
//item

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal">    <ImageView        android:id="@+id/img"        android:layout_width="100dp"        android:layout_height="100dp" />    <TextView        android:id="@+id/tv_title"        android:gravity="center"        android:layout_width="match_parent"        android:layout_height="100dp" />LinearLayout>

//mainActivity

package com.example.duotiaomu;import android.os.Bundle;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.widget.ScrollView;import com.example.duotiaomu.Utils.MyTask;import com.example.duotiaomu.adapter.MyAdapter;import com.example.duotiaomu.bean.Result;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.ILoadingLayout;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshScrollView;import com.youth.banner.Banner;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private Banner banner;    private List list;    private List lists = new ArrayList();    private MyAdapter adapter;    private MyListView mlv;    private PullToRefreshScrollView rsv;    private int pageIndex = 0;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        rsv = (PullToRefreshScrollView) findViewById(R.id.refresh_scroll_view);        mlv = (MyListView) findViewById(R.id.mlv);        banner = (Banner) findViewById(R.id.banner);        list = new ArrayList();        list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151721118&di=649c9a43aed72fbc4d99ec1a031510c6&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F015c7d574b9f8f6ac72525aee98351.jpg");        list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151956771&di=0eb6f306991d24b67a13ceb336f80102&imgtype=0&src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F00613def3f1beb7a35ae136341be2b589bc46a2d.jpg_320x200.jpg");        list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151847685&di=c7a4b5d08ec43fa629bcb690039a7629&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_080625%2F20080625_2e91a10c444877e88827vri2ZKdGMvQo.jpg");        list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151825129&di=70bf74b87d8a15cb91a2d79f15ed0eaf&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_081016%2F20081016_fee215664d5740e56c13E2YB8giERFEX.jpg");        list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505746504&di=930c4d677a02328a142d6fa85ed14580&imgtype=jpg&er=1&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_090113%2F20090113_6ac58b42bea94f0b318e1B6BZb5lPZl5.jpg");        //设置图片加载器        banner.setImageLoader(new MImageLoader());        //设置含有图片路径的集合        banner.setImages(list);        //设置延迟时间        banner.setDelayTime(3000);        //是否自动轮播        banner.isAutoPlay(true);        //开启        banner.start();        //请求数据        requestData();        //初使化refreshScrollView        intRefreshScrollView();    }    private void intRefreshScrollView() {        //1.设置模式        rsv.setMode(PullToRefreshBase.Mode.BOTH);        //2.通过调用getLoadingLayoutProxy方法,设置下拉刷新状况布局中显示的文字 ,第一个参数为true,代表下拉刷新        ILoadingLayout headLables = rsv.getLoadingLayoutProxy(true, false);        headLables.setPullLabel("下拉刷新");        headLables.setRefreshingLabel("正在刷新");        headLables.setReleaseLabel("松开刷新");        //2.设置上拉加载底部视图中显示的文字,第一个参数为false,代表上拉加载更多        ILoadingLayout footerLables = rsv.getLoadingLayoutProxy(false, true);        footerLables.setPullLabel("上拉加载");        footerLables.setRefreshingLabel("正在载入...");        footerLables.setReleaseLabel("松开加载更多");        //3.设置监听事件        rsv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {            @Override            public void onPullDownToRefresh(PullToRefreshBase refreshView) {                addToTop();                refreshComplete();            }            @Override            public void onPullUpToRefresh(PullToRefreshBase refreshView) {                addToBottom();                refreshComplete();            }        });    }    public void refreshComplete() {        new Handler().postDelayed(new Runnable() {            @Override            public void run() {                rsv.onRefreshComplete();            }        }, 1000);    }    public void addToBottom() {        pageIndex = pageIndex + 20;        MyTask myTask = new MyTask(new MyTask.Icallbacks() {            @Override            public void updateUiByjson(String jsonstr) {                Gson gson = new Gson();                Result result = gson.fromJson(jsonstr, Result.class);                //添加到集合中                lists.addAll(result.getData());                //设置适配器                setAdapter();            }        });        myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + pageIndex);    }    public void addToTop() {        MyTask myTask = new MyTask(new MyTask.Icallbacks() {            @Override            public void updateUiByjson(String jsonstr) {                Gson gson = new Gson();                Result result = gson.fromJson(jsonstr, Result.class);                //清空集合                lists.clear();                //添加到集合中                lists.addAll(0, result.getData());                //设置适配器                setAdapter();            }        });        myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");    }    private void requestData() {        MyTask myTask = new MyTask(new MyTask.Icallbacks() {            @Override            public void updateUiByjson(String jsonstr) {                Gson gson = new Gson();                Result result = gson.fromJson(jsonstr, Result.class);                lists.addAll(result.getData());                setAdapter();            }        });        myTask.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");    }    public void setAdapter() {        if (adapter == null) {            adapter = new MyAdapter(lists, MainActivity.this);            mlv.setAdapter(adapter);        } else {            adapter.notifyDataSetChanged();        }    }}
//adapter

package com.example.duotiaomu.adapter;import android.content.Context;import android.graphics.Bitmap;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.example.duotiaomu.R;import com.example.duotiaomu.bean.Result;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;public class MyAdapter extends BaseAdapter {    private List datas;    private Context context;    private DisplayImageOptions options;    public MyAdapter(List datas, Context context) {        this.datas = datas;        this.context = context;        options = new DisplayImageOptions.Builder()                .cacheInMemory(true)//使用内存缓存                .cacheOnDisk(true)//使用磁盘缓存                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片格式                .build();    }    @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) {        ViewHolder holder = null;        if (convertView == null) {            convertView = View.inflate(context, R.layout.item, null);            holder = new ViewHolder();            holder.tvTitle = (TextView) convertView.findViewById(R.id.tv_title);            holder.img = (ImageView) convertView.findViewById(R.id.img);            convertView.setTag(holder);        } else {            holder = (ViewHolder) convertView.getTag();        }        holder.tvTitle.setText(datas.get(position).getTITLE());        if (datas.get(position).getIMAGEURL() == null || datas.get(position).getIMAGEURL().equals("")) {            holder.img.setImageResource(R.mipmap.ic_launcher);        } else {            //imageLoader加载图片            ImageLoader.getInstance().displayImage(datas.get(position).getIMAGEURL(), holder.img, options);        }        return convertView;    }    class ViewHolder {        TextView tvTitle;        ImageView img;    }}
//mylistview

package com.example.duotiaomu;import android.content.Context;import android.util.AttributeSet;import android.widget.ListView;public class MyListView extends ListView {    public MyListView(Context context) {        super(context);    }    public MyListView(Context context, AttributeSet attrs) {        super(context, attrs);    }    public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);        super.onMeasure(widthMeasureSpec, expandSpec);    }}
//banner其他观看banner

imageLoader

MyTask

//treamToStirng

//App

//清单文件

<uses-permission android:name="android.permission.INTERNET">uses-permission>

更多相关文章

  1. android之listView缓存机制
  2. android加载大图片内存问题
  3. android图片异步加载解决步骤
  4. android:使用webview加载网页
  5. android mtk6732 camera otp 加载流程
  6. 【android】WebView缓存资料收集
  7. Android万能适配器的封装及其原理

随机推荐

  1. 自定义控件:onDraw 方法实现仿 iOS 的开关
  2. Android(安卓)Things在 #io17
  3. android 发送短信的两种方式
  4. Android去掉自动获取焦点
  5. Android Service 的添加流程
  6. Android中LocationManager的简单使用01
  7. 学习Android中Application、静态变量和Sh
  8. Android/Java面试题收集
  9. android中部分Intent用法实例
  10. Android SDK Manager无法获取其他版本的