XListView之多条目加载
来源:互联网 发布:windows清除arp 编辑:程序博客网 时间:2024/06/07 04:07
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private String s; private XListView xlv; private Base adapter; private ArrayList<Data.ListBean> list; private String path="http://qhb.2dyt.com/Bwei/news?page=11&postkey=1503d&type="; private int type=1; private Handler handler =new Handler(){ @Override public void handleMessage(Message msg) { s = msg.obj.toString(); Gson gson = new Gson(); Data data = gson.fromJson(s, Data.class); list.addAll(data.getList()); adapter.notifyDataSetChanged(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list = new ArrayList<>(); xlv = (XListView) findViewById(R.id.xlv); xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); loard(); adapter = new Base(list,this); xlv.setAdapter(adapter); } private void loard() { new Thread(){ @Override public void run() { String s = Utils.parmrs(path+type); Message msg = Message.obtain(); msg.obj =s; handler.sendMessage(msg); } }.start(); } @Override public void onRefresh() { handler.postDelayed(new Runnable() { @Override public void run() { Gson gson = new Gson(); Data data = gson.fromJson(s,Data.class); list.addAll(0,data.getList()); adapter.notifyDataSetChanged(); stoploder(); } },2000); } @Override public void onLoadMore() { handler.postDelayed(new Runnable() { @Override public void run() { Gson gson = new Gson(); Data data = gson.fromJson(s,Data.class); list.addAll(data.getList()); adapter.notifyDataSetChanged(); stoploder(); } },2000); } private void stoploder() { xlv.stopRefresh(); xlv.stopLoadMore(); } }public class Base extends BaseAdapter { private static final int TYPE_1 = 0; private static final int TYPE_2 = 1; private List<Data.ListBean> list; private Context mContext; public Base(List<Data.ListBean> list, Context context) { this.list = list; mContext = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getItemViewType(int position) { /* if (position % 2 == 0) { return TYPE_1; } else { return TYPE_2; }*/ if(list.get(position).getType()==1){ return TYPE_1; } else { return TYPE_2; } } /** * 指定你要加载的条目类型 * * @return */ @Override public int getViewTypeCount() { return 2; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder viewHolder = null; ViewHolder2 viewHolder2 = null; int type = getItemViewType(i); switch (type) { case TYPE_1: { if (view == null) {// /iew = View.inflate(mContext, R.layout.activitytwo, null); viewHolder = new ViewHolder(); view = view.inflate(mContext, R.layout.item, null); viewHolder.image1 = (ImageView) view.findViewById(R.id.image1); viewHolder.image2 = (ImageView) view.findViewById(R.id.image2); viewHolder.tvContent1 = (TextView) view.findViewById(R.id.text1); view.setTag(viewHolder); } else { viewHolder = (ViewHolder) view.getTag(); } viewHolder.tvContent1.setText(list.get(i).getTitle()); Glide.with(mContext).load(list.get(i).getPic()).into(viewHolder.image1); Glide.with(mContext).load(list.get(i).getPic()).into(viewHolder.image2); } break; case TYPE_2: { if (view == null) { // view = View.inflate(mContext, R.layout.activitytwo, null); viewHolder2 = new ViewHolder2(); view = view.inflate(mContext, R.layout.item2, null); viewHolder2.image3 = (ImageView) view.findViewById(R.id.image3); viewHolder2.tvContent2 = (TextView) view.findViewById(R.id.text2); viewHolder2.tvContent3 = (TextView) view.findViewById(R.id.text3); view.setTag(viewHolder2); } else { viewHolder2 = (ViewHolder2) view.getTag(); } viewHolder2.tvContent2.setText(list.get(i).getTitle()); viewHolder2.tvContent3.setText(list.get(i).getId()+""); Glide.with(mContext).load(list.get(i).getPic()).into(viewHolder2.image3); } break; } return view; } static class ViewHolder { TextView tvContent1; ImageView image1, image2; } static class ViewHolder2 { TextView tvContent2, tvContent3; ImageView image3; }}
阅读全文
0 0
- XListView之多条目加载
- xlistview多条目加载
- XlistView多条目加载
- XListView多条目加载adpter
- XlistView的多条目加载
- 多条目加载+XlistView刷新加载更多
- 自定义RecyclerView之多条目加载
- xlistview刷新加载+Drawlayout+多条目
- 下拉刷新上拉加载,XListView多条目加载,TabPageIndicator
- XListView多条目加载+TabPageIndicator+下拉刷新上拉加载
- ImageLoader,GET,POST获取数据,多条目加载,XListView
- RadioButton+Fragment和XlistView及多条目加载
- LIstView多条目展示+XListView下拉刷新,上拉加载
- Listview多条目加载和XListview下拉刷新控件
- 网络判断+网络请求+TabLayout+XListview+多条目加载.
- Xlistview多条目展示
- xlistview 多条目展示
- xlistview加多条目
- kmap_atomic/kunmap_atomic
- 【算法题】回文序列
- nginx
- Jacob 环境配置 + word/excel/ppt 转 PDF
- Hive学习笔记 --- ORCFile介绍
- XListView之多条目加载
- oracle11g dg从库动态注册不上
- jQuery选择器基本总结
- ubuntu下安裝tomcat
- jQuery中的事件与动画
- SystemUI启动流程及主体布局介绍
- 多态
- 关于计算机字符编码的研究
- 自定义注解的学习与使用