Xlistview加载更多
来源:互联网 发布:淘宝产品详情页素材 编辑:程序博客网 时间:2024/06/05 16:18
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private XListView xlv; private MyAdapter myAdapter; private boolean flag; private List<Bean.DataBean> data; private boolean flaginfo; private Dao dao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xlv = (XListView) findViewById(R.id.xlv); xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); dao = new Dao(this); shujuku(); getinit();
//xlv的点击事件 xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { //实例化一个意图 Intent intent = new Intent(MainActivity.this, SecondActivity.class); //传值 intent.putExtra("path",data.get(i-1).getShare_url()); startActivity(intent); } });}public void getinit(){ getData("地址");}//第一次解析数据public void getinfo1(String s){ //解析数据 Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); data = bean.getData(); //调用适配器 myAdapter = new MyAdapter(MainActivity.this, data); xlv.setAdapter(myAdapter);}//第二次解析数据public void getinfo2(String s){ //解析数据 Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.DataBean> list = bean.getData(); if (flag==true){
//上拉加载加载到头 data.addAll(0,list); }else{
//在信息的尾部 data.addAll(list); }
//刷新适配器 myAdapter.notifyDataSetChanged();}//从数据库取数据public void shujuku(){ String s = dao.sele(); if (s != null) { //解析数据 Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); data = bean.getData(); //调用适配器 myAdapter = new MyAdapter(MainActivity.this, data); xlv.setAdapter(myAdapter); }}public void getData(String url){ new AsyncTask<String,Void,String>(){ @Override protected void onPostExecute(String s) { super.onPostExecute(s); //数据库的判断
if (s!=null){ dao.updateinfo(s); }else{ dao.sele(); } if (flaginfo){ getinfo2(s); }else{
//设置为true下次就不执行 flaginfo=true; getinfo1(s); } } @Override protected String doInBackground(String... strings) { try { URL url=new URL(strings[0]); //创建HttpURLConnection对象 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //请求的方式 connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); //请求码 Thread.sleep(5000); int code = connection.getResponseCode(); if (code==200){ InputStream is = connection.getInputStream(); String str = MyUtil.getStr(is); System.out.println("================================"+str); //返回字符串 dao.add(str); return str; } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(url);}//下拉刷新@Overridepublic void onRefresh() { flag=true; getinit(); xlv.stopRefresh(true);}//上拉加载更多@Overridepublic void onLoadMore() { flag=false; getinit(); xlv.stopLoadMore();}
阅读全文
0 1
- Xlistview加载更多
- XListView+Library加载更多
- XlistView刷新及加载更多
- 多条目加载+XlistView刷新加载更多
- xlistView下拉刷新,上拉加载更多
- xListView下拉刷新和上拉加载更多
- 整合了刷新、加载更多、滑动删除功能的XListview
- XlistView下拉刷新,上拉加载更多改良
- 整合了刷新、加载更多、滑动删除功能的XListview
- 整合了刷新、加载更多、滑动删除功能的XListview
- 整合了刷新、加载更多、滑动删除功能的XListview
- XListView下拉刷新和上拉加载更多详解
- Android-----XlistView上拉刷新下拉加载更多
- Android XListView下拉刷新和上拉加载更多
- XListView 下拉刷新 上拉分页加载更多
- XListView上拉刷新数据及加载更多
- 【Android界面实现】整合了刷新、加载更多、滑动删除功能的XListview
- 【Android界面实现】整合了刷新、加载更多、滑动删除功能的XListview
- listview
- MySQL5.6.25升级MySQL5.7.15
- list、set、map
- C语言实现单链表面试题---基础篇
- NodeMCU(ESP8266)开发笔记
- Xlistview加载更多
- RedisComponent
- 51nod--1049 最大子段和
- CCF—窗口 20140302
- 仿QQ条目侧滑置顶与删除
- JDBC连接Oracle实现增、删、改操作
- nodejs带Cookie的POST操作
- 【Redis】RedisCluster 批量删除key
- 2.21 性能优化