Xlistview
来源:互联网 发布:张杰 他不懂 知乎 编辑:程序博客网 时间:2024/06/05 19:08
package com.example.yue3;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.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.example.xlistview_library.XListView;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.ArrayList;import java.util.List;import java.util.logging.Handler;/** * Created by on 2017/9/20. */public class f1 extends Fragment implements XListView.IXListViewListener{ String path="http://gank.io/api/data/Android/10/1"; private XListView xlv; List<User.ResultsBean> arr=new ArrayList<User.ResultsBean>(); private Madapter madapter; private Handler hd; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.f11, container, false); xlv =(XListView)inflate.findViewById(R.id.xlv); return inflate; } public static Fragment geto(String ss){ f1 ff = new f1(); Bundle bundle = new Bundle(); bundle.putString("name",ss); ff.setArguments(bundle); return ff; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Bundle arguments = getArguments(); String string = arguments.getString("name"); xlv.setPullLoadEnable(true);//必加 madapter = new Madapter();//适配器 xlv.setAdapter(madapter); xlv.setXListViewListener(this); new MasayTask().execute(path); } //异步 class MasayTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... params) { try { URL url = new URL(path); HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection(); int responseCode = urlConnection.getResponseCode(); if (responseCode==200){ InputStream inputStream = urlConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder builder = new StringBuilder(); String string=""; while ((string=bufferedReader.readLine())!=null){ builder.append(string); } return builder.toString(); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); User user = gson.fromJson(s, User.class); List<User.ResultsBean> results = user.getResults(); arr.addAll(results); madapter.notifyDataSetChanged(); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } } public void onLoad(){ xlv.stopRefresh(); xlv.stopLoadMore(); xlv.setRefreshTime("刚刚"); } //适配器 class Madapter extends BaseAdapter{ @Override public int getItemViewType(int position) { if (arr.get(position).getImages()==null){ return 0; } return 1; } @Override public int getViewTypeCount() { return 2; } @Override public int getCount() { return arr.size(); } @Override public Object getItem(int position) { return arr.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { int itemViewType = getItemViewType(position); User.ResultsBean resultsBean = arr.get(position); switch (itemViewType){ case 0: ViewHolder1 vh1; if (convertView==null){ convertView = View.inflate(getActivity(), R.layout.duo2, null); vh1=new ViewHolder1(); vh1.tv1=(TextView) convertView.findViewById(R.id.tv1); convertView.setTag(vh1); }else{ vh1=(ViewHolder1) convertView.getTag(); } vh1.tv1.setText(resultsBean.getDesc()); break; case 1: ViewHolder vh; if (convertView==null){ convertView = View.inflate(getActivity(), R.layout.duo, null); vh = new ViewHolder(); vh.tv=(TextView) convertView.findViewById(R.id.tv); vh.img=(ImageView) convertView.findViewById(R.id.img); convertView.setTag(vh); }else{ vh=(ViewHolder) convertView.getTag(); } vh.tv.setText(resultsBean.getDesc()); ImageLoader.getInstance().displayImage(resultsBean.getImages().get(0),vh.img); break; } return convertView; } class ViewHolder{ ImageView img; TextView tv; } class ViewHolder1{ TextView tv1; } } @Override public void onRefresh() { arr.clear(); new MasayTask().execute("http://gank.io/api/data/Android/10/1"); onLoad(); } @Override public void onLoadMore() { new MasayTask().execute("http://gank.io/api/data/Android/10/1"); onLoad(); }}
阅读全文
0 0
- XListView
- XListView
- Xlistview
- XListView
- xListView
- XListView
- xlistview
- xListView
- XlistView
- xlistview
- xlistview
- XListView
- xlistview
- xListview
- XListView
- XListView
- xlistview
- xlistview
- 京东登录2
- HDU3068 最长回文
- Angular增删查改
- 工厂方法模式
- 【leetcode】532. K-diff Pairs in an Array(Python & C++)
- Xlistview
- sruct的内存对齐
- Informatica中如何在资料库中查询计划中状态的任务
- 车牌识别算法实现及其代码实现之二:字符分割
- CorelDRAW控制对像这样做才能做到更加完美
- Bi-shoe and Phi-shoe
- Git fetch和git pull的区别
- 求职单
- UVA