public class TuiJianFrag extends Fragment { private int numder=0; private PullToRefreshListView pull; private ArrayList<ShouYeBean.DataBean> data; private ArrayList<ShouYeBean.DataBean> list=new ArrayList<>(); private ShouYeAdapter adapter1; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.tuijianfragment,null); initView(view); return view; } private void initView(View view) { pull = (PullToRefreshListView) view.findViewById(R.id.pullToRefresh); pull.setMode(PullToRefreshBase.Mode.BOTH); pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { numder=0; pull.postDelayed(new Runnable() { @Override public void run() { Toast.makeText(getActivity(), "下拉刷新", Toast.LENGTH_SHORT).show(); getServerData(); pull.onRefreshComplete(); } },2000); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { numder++; pull.postDelayed(new Runnable() { @Override public void run() { Toast.makeText(getActivity(), "上拉加载", Toast.LENGTH_SHORT).show(); adapter1.notifyDataSetChanged(); getServerData(); pull.onRefreshComplete(); } },2000); } }); getServerData(); } public void getServerData() { MyAsyncTask task=new MyAsyncTask(); task.execute(); } public class MyAsyncTask extends AsyncTask<String,Integer,String>{ String url="http://ic.snssdk.com/2/article/v25/stream/?count="+numder+"&min_behot_time=1455521444&bd_city=%E5%8C%97%E4%BA%AC%E5%B8%82&bd_latitude=40.049317&bd_longitude=116.296499&bd_loc_time=1455521401&loc_mode=5&lac=4527&cid=28883&iid=3642583580&device_id=11131669133&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=SCH-I919U&os_api=19&os_version=4.4.2&uuid=285592931621751&openudid=AC9E172CE2490000"; @Override protected String doInBackground(String... params) { HttpClient client=new DefaultHttpClient(); HttpGet get=new HttpGet(url); try { HttpResponse response = client.execute(get); if (response.getStatusLine().getStatusCode() == 200) { InputStream inputStream = response.getEntity().getContent(); String json = Utils.pressare(inputStream); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson=new Gson(); ShouYeBean shouYeBean = gson.fromJson(s, ShouYeBean.class); data = (ArrayList<ShouYeBean.DataBean>) shouYeBean.getData(); list.addAll(data); adapter1 = new ShouYeAdapter(getActivity(), list); pull.setAdapter(adapter1); pull.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { for (int i = 0; i < list.size(); i++) { if (i == position) { String url = list.get(i).getUrl(); Intent it=new Intent(getActivity(), WebViewsActivity.class); it.putExtra("url",url); startActivity(it); } } } }); } } }
PullToRefreshListView 上拉加载,下拉刷新 + AsyncTask 网络请求 + gson 自动解析
最新推荐文章于 2018-10-25 17:34:43 发布