Xlistviw
来源:互联网 发布:java开发薪资 编辑:程序博客网 时间:2024/06/05 14:03
package com.example.administrator.yuekao_test_3.Fragment;import android.os.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;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 android.widget.Toast;import com.example.administrator.yuekao_test_3.Bean.DataItem;import com.example.administrator.yuekao_test_3.Bean.Response;import com.example.administrator.yuekao_test_3.R;import com.google.gson.Gson;import com.lidroid.xutils.BitmapUtils;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.sql.Date;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import cz.msebera.android.httpclient.HttpResponse;import cz.msebera.android.httpclient.client.HttpClient;import cz.msebera.android.httpclient.client.methods.HttpGet;import cz.msebera.android.httpclient.impl.client.DefaultHttpClient;import xlistview.bawei.com.xlistviewlibrary.XListView;public class Fragment_1 extends Fragment { private int startnum=1; private View view; List<DataItem>list_s=new ArrayList<>(); private XListView xlist_item1; Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); } }; private List<DataItem> data; private Myadapter myadapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.activity_fragment_1, null); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getHttpConnect(); xlist_item1 = (XListView) view.findViewById(R.id.Xlist_item1); //加载 xlist_item1.setPullLoadEnable(true); //刷新 xlist_item1.setPullRefreshEnable(true); //监听 xlist_item1.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { startnum=1; Toast.makeText(getActivity(), "刷新", Toast.LENGTH_SHORT).show(); getOnTime(); getHttpConnect(); handler.postDelayed(new Runnable() { @Override public void run() { xlist_item1.stopRefresh(); } },2000); } @Override public void onLoadMore() { startnum++; getOnTime(); getHttpConnect(); Toast.makeText(getActivity(),"加载", Toast.LENGTH_SHORT).show(); handler.postDelayed(new Runnable() { @Override public void run() { getHttpConnect(); xlist_item1.stopLoadMore(); } },2000); } }); } //解析数据 private void getHttpConnect() { MyAsyncTask asyncTask=new MyAsyncTask(); asyncTask.execute(); } //系统时间 private void getOnTime() { long millis = System.currentTimeMillis(); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM--dd HH:mm:ss"); Date date=new Date(millis); String s = simpleDateFormat.format(date); xlist_item1.setRefreshTime(s); } class MyAsyncTask extends AsyncTask<String,Integer,String>{ @Override protected String doInBackground(String... params) { String jsonurl="http://www.yulin520.com/a2a/forum/allTypeList?sign=376C5BFC22179A1B8FF3A86D4588B29F&pageSize=10&ts=1877785007&forumType=0&page="+startnum; HttpClient httpClient=new DefaultHttpClient(); HttpGet httpGet=new HttpGet(jsonurl); try { HttpResponse response = httpClient.execute(httpGet); if(response.getStatusLine().getStatusCode()==200){ InputStream inputStream = response.getEntity().getContent(); ByteArrayOutputStream bos=new ByteArrayOutputStream(); int leng=0; byte[]b=new byte[1024]; while((leng=inputStream.read(b))!=-1){ bos.write(b,0,leng); } bos.close(); inputStream.close(); String s = bos.toString(); return s; } } 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(); Response json = gson.fromJson(s, Response.class); data = json.getData(); for (int i = 0; i < data.size(); i++) { DataItem dataItem = data.get(i); list_s.add(dataItem); } getDataAdapter(); } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); } } private void getDataAdapter() { if(myadapter==null){ myadapter = new Myadapter(); xlist_item1.setAdapter(myadapter); }else{ myadapter.notifyDataSetChanged(); } } class Myadapter extends BaseAdapter{ @Override public int getCount() { return list_s.size(); } @Override public Object getItem(int position) { return list_s.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder=null; if(convertView==null){ convertView=View.inflate(getActivity(),R.layout.xlist_item_layou,null); holder=new ViewHolder(); holder.text_name= (TextView) convertView.findViewById(R.id.text_name); holder.image_p= (ImageView) convertView.findViewById(R.id.image_p); convertView.setTag(holder); }else{ holder= (ViewHolder) convertView.getTag(); } holder.text_name.setText(list_s.get(position).getTitle()); BitmapUtils bitmapUtils=new BitmapUtils(getActivity()); BitmapUtils bitmapUtils1=bitmapUtils.configDefaultLoadingImage(R.mipmap.ic_launcher); bitmapUtils1.display(holder.image_p,list_s.get(position).getHeadImg()); return convertView; } class ViewHolder{ TextView text_name; ImageView image_p; } }}
0 0