pulltoReforsh

来源:互联网 发布:linux误删除文件恢复 编辑:程序博客网 时间:2024/06/13 21:36
public class MyFragment extends Fragment{    private String urldd="http://gank.io/api/data/";    String nnn;    private View view;    private PullToRefreshListView pull;    private MyAdapter ada;    private List<Bean.ResultsBean> results;    private int i;    private ArrayList<Bean.ResultsBean> list = new ArrayList<>();    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        Bundle bundle = getArguments();        nnn = bundle.getString("nnn");        view =inflater.inflate(R.layout.fragment,container,false);//        TextView textView = new TextView(getActivity());//        textView.setText(nnn);        return view;    }    //定义静态的方法    public static MyFragment getData(String string){        MyFragment myFragment = new MyFragment();        Bundle bundle = new Bundle();        myFragment.setArguments(bundle);        bundle.putString("nnn",string);        return myFragment;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        pull =(PullToRefreshListView) view.findViewById(R.id.pull);        pull.setMode(PullToRefreshBase.Mode.BOTH);        try {            String encode = URLEncoder.encode(nnn, "utf-8");            Log.e("AAAAAAA",encode);            new MyAsyncTask().execute(urldd+encode+"/10/1");            Log.e("======",urldd+encode+"/10/1");        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        }        initpull();    }    class MyAsyncTask extends AsyncTask<String,Void,String>{        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            Bean bean = gson.fromJson(s, Bean.class);             results = bean.getResults();            list.addAll(results);            ada =new MyAdapter();            pull.setAdapter(ada);            pull.onRefreshComplete();        }        @Override        protected String doInBackground(String... strings) {            try {                URL url = new URL(strings[0]);                HttpURLConnection ucon = (HttpURLConnection) url.openConnection();                int code = ucon.getResponseCode();                if (code==200){                    InputStream inputStream = ucon.getInputStream();                    BufferedReader bf = new BufferedReader(new InputStreamReader(inputStream));                    StringBuilder bu = new StringBuilder();                    String string="";                    while((string=bf.readLine())!=null){                        bu.append(string);                    }                    return bu.toString();                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }    }    class MyAdapter extends BaseAdapter{        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int i) {            return list.get(i);        }        @Override        public long getItemId(int i) {            return i;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            ViewHolder vh=null;            if (view==null){                view=View.inflate(getActivity(),R.layout.list_iteam,null);                vh=new ViewHolder();                vh.title =(TextView) view.findViewById(R.id.title);                vh.img=(ImageView)view.findViewById(R.id.img);                view.setTag(vh);            }else{                vh= (ViewHolder) view.getTag();            }            vh.title.setText(list.get(i).getDesc());            ImageLoader.getInstance().displayImage(list.get(i).getUrl(),vh.img);            return view;        }    }    class ViewHolder{        public ImageView img;        public TextView title;    }    private void initpull() {
//下拉刷新        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {            @Override            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {                list.clear();                i=1;                try {                    String encode = URLEncoder.encode(nnn, "utf-8");                    new MyAsyncTask().execute(urldd+encode+"/10/1");                } catch (UnsupportedEncodingException e) {                    e.printStackTrace();                }            }            @Override
//上拉加载            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {                i++;                try {                    String encode = URLEncoder.encode(nnn, "utf-8");                    new MyAsyncTask().execute(urldd+encode+"/10/"+i);                } catch (UnsupportedEncodingException e) {                    e.printStackTrace();                }            }        });    }}