xlistview
来源:互联网 发布:国家创新训练项目 知乎 编辑:程序博客网 时间:2024/05/22 22:50
package com.example.dailin.Fragment;import android.content.Intent;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.Toast;import com.example.dailin.ContentActivity;import com.example.dailin.R;import com.example.dailin.adapter.XListAdapter;import com.example.dailin.bean.MyBean;import com.google.gson.Gson;import com.limxing.xlistview.view.XListView;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;/** * Created by Administrator on 2017/9/11 0011. */public class fragment01 extends Fragment implements XListView.IXListViewListener{ private XListView xlv; private boolean flag; private XListAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment01, container, false); xlv =(XListView) view.findViewById(R.id.xlv); xlv.setXListViewListener(this); xlv.setPullLoadEnable(true); xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { MyBean.ResultBean.DataBean bean = (MyBean.ResultBean.DataBean) adapter.getItem(i-1); Intent intent=new Intent(getActivity(), ContentActivity.class); intent.putExtra("info",bean.getUrl()); Toast.makeText(getContext(),bean.getUrl(),Toast.LENGTH_SHORT).show(); getActivity().startActivity(intent); } }); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); data(); } public void data() { getdata("http://v.juhe.cn/toutiao/index?type=guoji&key=54e3d5f4ee64f51bef570ce8505d37b5"); } public void getdata(String path) { new AsyncTask<String,Void,String>() { @Override protected void onPostExecute(String s) { super.onPostExecute(s); if (s == null) { return; } Gson gson = new Gson(); MyBean bean = gson.fromJson(s, MyBean.class); List<MyBean.ResultBean.DataBean> list = bean.getResult().getData(); if (adapter == null) { adapter = new XListAdapter(list, getActivity()); xlv.setAdapter(adapter); } else { adapter.enough(list, flag); } } @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); int code = connection.getResponseCode(); if (code == 200) { InputStream is = connection.getInputStream(); String str = json(is); return str; } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(path); } public String json(InputStream is) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { baos.write(buffer,0,len); } baos.close(); return baos.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } @Override public void onRefresh() { flag = false; data(); xlv.stopRefresh(true); } @Override public void onLoadMore() { flag = true; data(); xlv.stopLoadMore(); }}package com.example.dailin.adapter;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.example.dailin.R;import com.example.dailin.bean.MyBean;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;/** * Created by Administrator on 2017/9/13 0013. */public class XListAdapter extends BaseAdapter { private List<MyBean.ResultBean.DataBean> list; private Context context; private DisplayImageOptions options; public XListAdapter(List<MyBean.ResultBean.DataBean> list, Context context) { this.list = list; this.context = context; options = new DisplayImageOptions.Builder().build(); } public void enough(List<MyBean.ResultBean.DataBean> data, boolean flag) { for (MyBean.ResultBean.DataBean bean : data) { if (flag) { list.add(bean); } else { list.add(0, bean); } } notifyDataSetChanged(); } @Override public int getCount() { return list != null ? list.size() : 0; } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { if (position % 2 == 0) { return 0; } else { return 1; } } @Override public View getView(int i, View view, ViewGroup viewGroup) { int type = getItemViewType(i); ViewHolder1 holder1 = null; ViewHolder2 holder2 = null; MyBean.ResultBean.DataBean bean = list.get(i); switch (type) { case 0: { if (view == null) { holder1 = new ViewHolder1(); view = View.inflate(context, R.layout.item2, null); holder1.tv_title1 = (TextView) view.findViewById(R.id.tv_title1); holder1.img_inco1 = (ImageView) view.findViewById(R.id.img_inco1); holder1.img_inco2 = (ImageView) view.findViewById(R.id.img_inco2); holder1.img_inco3 = (ImageView) view.findViewById(R.id.img_inco3); view.setTag(holder1); } else { holder1 = (ViewHolder1) view.getTag(); } holder1.tv_title1.setText(bean.getTitle()); ImageLoader.getInstance().displayImage(bean.getThumbnail_pic_s(), holder1.img_inco1, options); ImageLoader.getInstance().displayImage(bean.getThumbnail_pic_s02(), holder1.img_inco2, options); ImageLoader.getInstance().displayImage(bean.getThumbnail_pic_s03(), holder1.img_inco3, options); } break; case 1: { if (view == null) { holder2 = new ViewHolder2(); view = View.inflate(context, R.layout.item3, null); holder2.tv_title2 = (TextView) view.findViewById(R.id.tv_title2); holder2.img_inco4 = (ImageView) view.findViewById(R.id.img_inco4); view.setTag(holder2); } else { holder2 = (ViewHolder2) view.getTag(); } holder2.tv_title2.setText(bean.getTitle()); ImageLoader.getInstance().displayImage(bean.getThumbnail_pic_s(), holder2.img_inco4, options); } break; } return view; } class ViewHolder1 { TextView tv_title1; ImageView img_inco1, img_inco2, img_inco3; } class ViewHolder2 { TextView tv_title2; ImageView img_inco4; }}
阅读全文
0 0
- XListView
- XListView
- Xlistview
- XListView
- xListView
- XListView
- xlistview
- xListView
- XlistView
- xlistview
- xlistview
- XListView
- xlistview
- xListview
- XListView
- XListView
- xlistview
- xlistview
- 美团2016研发工程师笔试题_球色问题
- 欠拟合、过拟合及其解决方法
- iOS 技术点总结笔记
- Elasticsearch 用户启动问题
- HTTP中GET和POST的区别
- xlistview
- java 中 String 与 int 的相互转换
- Spark Q&A : Spark利用databricks读取CSV文件报错 CSVFormat NoClassDefFoundError
- ajax
- openwrt移植过程的问题记录
- 数据降维笔记——非负矩阵分解(NMF),人脸数据特征提取
- Ubuntu修改环境变量关掉终端就没了,问题解决办法
- 9月20日云栖精选夜读:异构计算&高性能计算分论坛——揭秘拿什么实现超算平民化、国际化?
- java 报错信息