//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 对话框实例
  2. android加载大图片内存问题
  3. Android:瀑布流效果 的简单实现
  4. android 柱状图(带动画的)
  5. android图片异步加载解决步骤
  6. Android(安卓)自定义BaseRecyclerView.Adapter
  7. android.app.WallpaperManager壁纸管理类
  8. Android(安卓)原始下载图片 通过HTTp
  9. android TextView 部分文字变色 工具类

随机推荐

  1. 【Android开篇】开始 Hello Android
  2. 短信的收发及在android模拟器之间实践(3)
  3. 自定义ProgressBar
  4. Android ANR分析
  5. Android Makefile 具体是 如何识别 TARGE
  6. ImageView.ScaleType 属性详解
  7. 我的Android(安卓)NDK之旅(三),使用cmake来
  8. 如何正确获得Android内外SD卡路径
  9. 用ant的build.xml构建自动化打包android
  10. Android混合开发