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(); } }
Xlistview
最新推荐文章于 2019-01-09 20:30:06 发布
370

被折叠的 条评论
为什么被折叠?



