二DrawerLayout侧滑 Xlistview 接口获取数据 ImgageLoder

来源:互联网 发布:长虹网络电视机顶盒 编辑:程序博客网 时间:2024/06/05 00:09
//在清单文件上写的类名   继承 Application     还有权限public class App extends Application {    @Override    public void onCreate() {        super.onCreate();        //图片        ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this).build();        ImageLoader.getInstance().init(build);    }}

//上下拉
package com.example.chaixiaokai20170909;import android.os.AsyncTask;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{    private XListView xlv;    List<User.NewslistBean> arr=new ArrayList<>();    private Madapter madapter;    private Handler handler;    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        xlv =(XListView)findViewById(R.id.xlv);        xlv.setPullLoadEnable(true);//必须加        xlv.setXListViewListener(this);//接口实现刷新        new MasatTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");        madapter = new Madapter();//创建适配器        xlv.setAdapter(madapter);        handler = new Handler();//主线程    }    //停止刷新    public void close(){        xlv.stopRefresh();        xlv.stopLoadMore();        xlv.setRefreshTime("刚刚");    }    //刷新    @Override    public void onRefresh() {        handler.postDelayed(new Runnable() {            @Override            public void run() {                  arr.clear();                  new MasatTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");                  close();            }        },2000);    }     //加载    @Override    public void onLoadMore() {        handler.postDelayed(new Runnable() {            @Override            public void run() {                new MasatTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");                close();            }        },2000);    }    //适配器    class Madapter extends BaseAdapter{        @Override        public int getCount() {            return arr.size();        }        @Override        public Object getItem(int position) {            return arr.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        //优化        @Override        public View getView(int position, View convertView, ViewGroup parent) {            User.NewslistBean bean = arr.get(position);            ViewHolder vh;            if (convertView==null){                convertView = View.inflate(MainActivity.this, R.layout.list_item, null);                vh = new ViewHolder();                vh.img=(ImageView) convertView.findViewById(R.id.img);                vh.tv=(TextView) convertView.findViewById(R.id.tv);                convertView.setTag(vh);            }else{                vh=(ViewHolder) convertView.getTag();            }            //ImageLoader  获取图片            ImageLoader.getInstance().displayImage(arr.get(position).getPicUrl(),vh.img);            vh.tv.setText(arr.get(position).getTitle());            return convertView;        }        class ViewHolder{            ImageView img;            TextView tv;        }    }    //异步    class MasatTask extends AsyncTask<String,Void,String>{        @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            User user = gson.fromJson(s, User.class);            List<User.NewslistBean> newslist = user.getNewslist();            arr.addAll(newslist);//添加新数据            madapter.notifyDataSetChanged();//刷新适配器        }        @Override        protected void onProgressUpdate(Void... values) {            super.onProgressUpdate(values);        }        @Override        protected String doInBackground(String... params) {            try {                URL url = new URL(params[0]);                HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();                int responseCode = urlConnection.getResponseCode();                if (responseCode==200){                    InputStream inputStream = urlConnection.getInputStream();                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));                    StringBuilder builder = new StringBuilder();                    String string="";                    while ((string=bufferedReader.readLine())!=null){                        builder.append(string);                    }                    return builder.toString();                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }    }}

阅读全文
0 0
原创粉丝点击