PullPullToRefreshListView的下拉刷新,上拉加载
来源:互联网 发布:苹果mac下载输入法安装 编辑:程序博客网 时间:2024/06/06 03:08
ublic class MainActivity extends AppCompatActivity { private PullToRefreshListView pull; private String url = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"; private ArrayList<Bean> list_bean = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到控件 pull = (PullToRefreshListView) findViewById(R.id.pull); initView(); } Handler hand = new Handler() { @Override public void handleMessage(Message msg) { if(msg.what==1) { String count = (String) msg.obj; try { JSONObject jsonObject = new JSONObject(count); JSONArray newslist = jsonObject.optJSONArray("newslist"); for (int i = 0; i < newslist.length(); i++) { JSONObject jsonObject1 = newslist.optJSONObject(i); String description = jsonObject1.optString("description"); String title = jsonObject1.optString("title"); String picUrl = jsonObject1.optString("picUrl"); list_bean.add(new Bean(description,title,picUrl)); } //将下拉和上拉的条目隐藏 pull.onRefreshComplete(); } catch (Exception e) { e.printStackTrace(); } //设置适配器就不多说了,,很容易 pull.setAdapter(new Adapter(MainActivity.this,list_bean)); //让他支持上拉加载 pull.setMode(PullToRefreshBase.Mode.BOTH); //设置刷新的方法 pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { //下拉刷新 @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { //让存储的集合清空,重新请求数据添加进集合 list_bean.clear(); //在调用一次查找数据的方法 initView(); } //上拉加载 @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { //调用查找方法,自动拼接到集合中 initView(); } }); } } }; //通过线程解析地址 public void initView() { new Thread() { @Override public void run() { try { URL ur = new URL(url); URLConnection urlConnection = ur.openConnection(); InputStream inputStream = urlConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String read = ""; StringBuilder stringBuilder = new StringBuilder(); while((read=bufferedReader.readLine())!=null) { stringBuilder.append(read); } Message message = new Message(); message.obj = stringBuilder.toString(); message.what = 1; hand.sendMessage(message); } catch (Exception e) { e.printStackTrace(); } } }.start(); }}
阅读全文
0 0
- PullPullToRefreshListView的下拉刷新,上拉加载
- 上拉加载下拉刷新的原理
- 下拉刷新+上拉加载的listview
- ListViewGridview的上拉加载下拉刷新
- RecyclerView的上拉加载,下拉刷新
- listview的上拉刷新,下拉加载
- gridview的上拉刷新下拉加载
- XlistView的上拉刷新下拉加载
- GridView的下拉刷新上拉加载
- listview的上拉加载,下拉刷新
- Xlistview的上拉加载,下拉刷新
- PullToRefresh的上拉加载下拉刷新
- XListView的下拉刷新,上拉加载
- 上拉刷新下拉加载的实现
- XlistView的上拉加载下拉刷新
- mui的上拉刷新 下拉加载
- swiper的上拉刷新 下拉加载
- XRecyclerView的上拉加载,下拉刷新
- 数组奇偶数分组
- 新相亲时代:2亿人及其背后家庭组成的“擂台”
- [RK3288][Android6.0] 调试笔记 --- Ubuntu下重新签名apk方法
- YTU.3129: 进阶递归之全排列
- 用js写一个简单的计算器
- PullPullToRefreshListView的下拉刷新,上拉加载
- Struts+hibernate应用实现页面操作数据库
- shell变量(系统变量和环境变量)
- nlp语义理解的一点儿看法
- C++——左值引用和右值引用
- 阿里、百度、搜狐、优土等互联网公司面试经验总结
- android自定义控件手势密码
- JavaScript基础之Node.js基本模块
- The user operation is waiting for ... "..." to complete