PullToRefreshListView
来源:互联网 发布:聂风入魔知乎 编辑:程序博客网 时间:2024/06/02 20:20
public class MainActivity extends AppCompatActivity { private Myadapter myadapter; protected PullToRefreshListView pull_listview; private ImageView img; private DrawerLayout dv; private String urlpath="http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0"; private int p=1; private int q=0; private String url=urlpath+q; private List<Bean.DataBean> data=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); boolean conn = Utils.isConn(MainActivity.this); if (conn) { MyTask myTask = new MyTask(); myTask.execute(url); } else { Utils.setNetworkMethod(MainActivity.this); } shuxi(); } private void shuxi() { pull_listview.setMode(PullToRefreshListView.Mode.BOTH); ILoadingLayout startLabels = pull_listview.getLoadingLayoutProxy(true, false); startLabels.setPullLabel("下拉刷新..."); startLabels.setRefreshingLabel("正在载入...");// 刷新时 startLabels.setReleaseLabel("放开刷新...");// 下来达到一定距离时,显示的提示 ILoadingLayout endLabels = pull_listview.getLoadingLayoutProxy(false, true); endLabels.setPullLabel("上拉刷新...");// 刚下拉时,显示的提示 endLabels.setRefreshingLabel("正在载入...");// 刷新时 endLabels.setReleaseLabel("放开刷新...");// 下来达到一定距离时,显示的提示 pull_listview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { p=1; q=0; url=urlpath+q; MyTask myTask = new MyTask(); myTask.execute(url); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { p=2; q++; url=urlpath+q; MyTask myTask = new MyTask(); myTask.execute(url); } }); } class MyTask extends AsyncTask<String,Void,String> { @Override protected String doInBackground(String... strings) { StringBuilder builder=new StringBuilder(); try { URL url=new URL(strings[0]); HttpURLConnection urlConnection =(HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); if (urlConnection.getResponseCode()==200) { InputStream inputStream = urlConnection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String str=""; while ((str=reader.readLine())!=null) { builder.append(str); } reader.close(); } } catch (Exception e) { e.printStackTrace(); } return builder.toString(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); if (p==1) { data.clear(); } data.addAll(bean.getData()); setAdapter(); if (p==1) { pull_listview.onRefreshComplete(); } else { pull_listview.onRefreshComplete(); } } } private void initView() { pull_listview = (PullToRefreshListView) findViewById(R.id.pull_listview); img = (ImageView) findViewById(R.id.img); dv = (DrawerLayout) findViewById(R.id.dv); ListView list_view = findViewById(R.id.list_view); List<String> list = new ArrayList<>(); for (int i = 0; i <20 ; i++) { list.add("数据是"+i); } list_view.setAdapter(new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,android.R.id.text1,list)); } public void setAdapter() { if (myadapter == null) { myadapter = new Myadapter(MainActivity.this, data); pull_listview.setAdapter(myadapter); } else { myadapter.notifyDataSetChanged(); } }}
阅读全文
0 1
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- PullToRefreshListView
- pullToRefreshListView
- PulltorefreshListview
- PulltorefreshListview
- PullToRefreshListView
- PullToRefreshListView
- pulltorefreshlistview
- PullToRefreshListView
- ubuntu配置网络
- 有关正则表达式的一些简单总结
- 【嵌入式开发】手把手教你4418/6818开发板屏幕修改 本文转自迅为: http://www.topeetboard.com 开发平台:iTOP-4418/6818开发板 4418&6818屏幕
- leetcode 575. Distribute Candies
- 思岚科技—SLAMTEC未来服务机器人行业的“Intel”
- PullToRefreshListView
- leetcode题解-88. Merge Sorted Array
- Mapreduce&yarn工作机制
- 算法入门—思维导图
- 设计模式<二>单例模式
- 大数加减乘除?
- Python中列表的增删改查
- 关于MongoDB中的索引查询(查询优化)
- bzoj1699 排队【稀疏表】