Xlistviw

来源:互联网 发布:java开发薪资 编辑:程序博客网 时间:2024/06/05 14:03
package com.example.administrator.yuekao_test_3.Fragment;import android.os.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import com.example.administrator.yuekao_test_3.Bean.DataItem;import com.example.administrator.yuekao_test_3.Bean.Response;import com.example.administrator.yuekao_test_3.R;import com.google.gson.Gson;import com.lidroid.xutils.BitmapUtils;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.sql.Date;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import cz.msebera.android.httpclient.HttpResponse;import cz.msebera.android.httpclient.client.HttpClient;import cz.msebera.android.httpclient.client.methods.HttpGet;import cz.msebera.android.httpclient.impl.client.DefaultHttpClient;import xlistview.bawei.com.xlistviewlibrary.XListView;public class Fragment_1 extends Fragment {    private int startnum=1;    private View view;    List<DataItem>list_s=new ArrayList<>();    private XListView xlist_item1;    Handler handler=new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);        }    };    private List<DataItem> data;    private Myadapter myadapter;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        view = inflater.inflate(R.layout.activity_fragment_1, null);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        getHttpConnect();        xlist_item1 = (XListView) view.findViewById(R.id.Xlist_item1);        //加载        xlist_item1.setPullLoadEnable(true);        //刷新        xlist_item1.setPullRefreshEnable(true);        //监听        xlist_item1.setXListViewListener(new XListView.IXListViewListener() {            @Override            public void onRefresh() {                startnum=1;                Toast.makeText(getActivity(), "刷新", Toast.LENGTH_SHORT).show();                getOnTime();                getHttpConnect();                handler.postDelayed(new Runnable() {                    @Override                    public void run() {                        xlist_item1.stopRefresh();                    }                },2000);            }            @Override            public void onLoadMore() {                startnum++;                getOnTime();                getHttpConnect();                Toast.makeText(getActivity(),"加载", Toast.LENGTH_SHORT).show();                handler.postDelayed(new Runnable() {                    @Override                    public void run() {                      getHttpConnect();                        xlist_item1.stopLoadMore();                    }                },2000);            }        });    }    //解析数据    private void getHttpConnect() {        MyAsyncTask asyncTask=new MyAsyncTask();        asyncTask.execute();    }    //系统时间    private void getOnTime() {        long millis = System.currentTimeMillis();        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM--dd HH:mm:ss");        Date date=new Date(millis);        String s = simpleDateFormat.format(date);        xlist_item1.setRefreshTime(s);    }    class MyAsyncTask extends AsyncTask<String,Integer,String>{        @Override        protected String doInBackground(String... params) {            String jsonurl="http://www.yulin520.com/a2a/forum/allTypeList?sign=376C5BFC22179A1B8FF3A86D4588B29F&pageSize=10&ts=1877785007&forumType=0&page="+startnum;            HttpClient httpClient=new DefaultHttpClient();            HttpGet httpGet=new HttpGet(jsonurl);            try {                HttpResponse response = httpClient.execute(httpGet);                if(response.getStatusLine().getStatusCode()==200){                    InputStream inputStream = response.getEntity().getContent();                    ByteArrayOutputStream bos=new ByteArrayOutputStream();                    int leng=0;                    byte[]b=new byte[1024];                    while((leng=inputStream.read(b))!=-1){                        bos.write(b,0,leng);                    }                    bos.close();                    inputStream.close();                    String s = bos.toString();                    return  s;                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson=new Gson();            Response json = gson.fromJson(s, Response.class);            data = json.getData();            for (int i = 0; i < data.size(); i++) {                DataItem dataItem = data.get(i);                list_s.add(dataItem);            }           getDataAdapter();        }        @Override        protected void onProgressUpdate(Integer... values) {            super.onProgressUpdate(values);        }    }    private void getDataAdapter() {        if(myadapter==null){            myadapter = new Myadapter();            xlist_item1.setAdapter(myadapter);        }else{            myadapter.notifyDataSetChanged();        }    }    class Myadapter extends BaseAdapter{        @Override        public int getCount() {            return list_s.size();        }        @Override        public Object getItem(int position) {            return list_s.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(getActivity(),R.layout.xlist_item_layou,null);                holder=new ViewHolder();                holder.text_name= (TextView) convertView.findViewById(R.id.text_name);                holder.image_p= (ImageView) convertView.findViewById(R.id.image_p);                convertView.setTag(holder);            }else{                holder= (ViewHolder) convertView.getTag();            }            holder.text_name.setText(list_s.get(position).getTitle());            BitmapUtils bitmapUtils=new BitmapUtils(getActivity());            BitmapUtils bitmapUtils1=bitmapUtils.configDefaultLoadingImage(R.mipmap.ic_launcher);            bitmapUtils1.display(holder.image_p,list_s.get(position).getHeadImg());            return convertView;        }        class ViewHolder{            TextView text_name;            ImageView image_p;        }    }}
0 0
原创粉丝点击