实现侧栏,为Xlistview获取网络数据
来源:互联网 发布:p2p网络管理器 编辑:程序博客网 时间:2024/06/04 18:51
package com.bwei.ssp.zk2_lx;import android.os.AsyncTask;import android.os.Bundle;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import com.bwei.ssp.mylibrary.Tools;import com.bwei.ssp.mylibrary.View.XListView;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private XListView xlv; private ListView lv; private List<String> list =new ArrayList<>(); //定义一个离合为侧栏添加数据 private String url ="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="; //网络数据地址 pag为动态设置 private int page= 1; //默认页数为1 private List<Bean.DataBean> data; private Madapter adapter; private ImageLoader instance; //框架接收网络图片并传递给Listview private DrawerLayout layout; //侧栏布局文件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); layout = (DrawerLayout) findViewById(R.id.drawer); xlv = (XListView) findViewById(R.id.xlv); lv = (ListView) findViewById(R.id.lv); list.add("王庆的爷爷是宋社鹏"); list.add("李志"); list.add("王庆"); list.add("宋社鹏"); //模拟假数据 ArrayAdapter<String> ad = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_expandable_list_item_1, list); //为ListView设置适配器并使用自带布局 lv.setAdapter(ad); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { layout.closeDrawer(lv); //设置点击事件当点击条目时关闭侧栏 } }); instance = ImageLoader.getInstance(); xlv.setXListViewListener(this); //设置可以上拉加载更多; xlv.setPullLoadEnable(true); initData(1); //定义网络接收数据方法方法 } private void initData(int page) { new MAsyzTask().execute(url+page); //为网络地址拼接页数 } class MAsyzTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { return Tools.getJson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); data = bean.getData(); adapter= new Madapter(); xlv.setAdapter(adapter); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } } class Madapter extends BaseAdapter{ @Override public int getCount() { return data.size(); } @Override public Object getItem(int i) { return data.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { return position%2; } @Override public View getView(int i, View view, ViewGroup viewGroup) { int type = getItemViewType(i); switch (type){ case 0: view = View.inflate(MainActivity.this, R.layout.x_item, null); TextView tv =(TextView)view.findViewById(R.id.tv); ImageView ig = (ImageView) view.findViewById(R.id.ig); tv.setText(data.get(i).getTitle()); break; case 1: view = View.inflate(MainActivity.this, R.layout.x_item, null); TextView tv1 =(TextView)view.findViewById(R.id.tv); ImageView ig1 = (ImageView) view.findViewById(R.id.ig); tv1.setText(data.get(i).getTitle()); instance.displayImage(data.get(i).getImg(),ig1); break; } return view; } } @Override public void onRefresh() { list.clear(); initData(1);//重新请求数据 xListViewUIComplete();//完成ui } /** * 上拉加载 */ @Override public void onLoadMore() { initData(page++); xListViewUIComplete();//完成ui } private void xListViewUIComplete() { //让刷新头消失 xlv.stopRefresh(); //让加载更多文字消失 xlv.stopLoadMore(); //设置刷新时间为"刚刚" xlv.setRefreshTime("刚刚"); }}
阅读全文
0 0
- 实现侧栏,为Xlistview获取网络数据
- XListView+ImageLoader+AsyncTask+网络获取数据综合
- Banner轮播 + XlistView 网络获取数据
- xlistview网络数据
- XListView请求网络数据
- XListView请求网络数据
- XListView请求网络数据
- XListView请求网络数据
- XListView之网络数据展示
- 网络数据请求XListView展示
- 网络请求+XListView展示数据
- 网络数据请求展示为无限轮播图 ViewPager+XListView+Fragment+ImageLoader
- 新XListView连接网络请求数据
- XListView请求网络数据的使用
- 使用 Xlistview 展示网络请求数据
- OkHttp获取数据,xlistview显示popwod弹框
- Xlistview请求网络实现上下拉
- xListView实现上、下拉刷新数据
- 10.15总结
- 2016级算法第一次上机——E ModricWang's QuickSort
- 猜数字游戏
- centos7 配置多个Tomcat
- Drawerlayout
- 实现侧栏,为Xlistview获取网络数据
- jquery表单验证
- XListView
- SSD及其不同主网络实现的性能差异比较
- angular-js发布新闻
- DP 路径
- Linux操作系统
- 2016年第七届蓝桥杯C/C++A组第六题---寒假作业
- DrawerLayout + PullToRefrsh + 多条目加载