Xlistview

来源:互联网 发布:ios降级会丢失数据吗 编辑:程序博客网 时间:2024/05/21 09:13

适配器

package com.guo.adapter;

import java.util.List;

import com.guo.activity.R;
import com.guo.bean.DataBean;
import com.guo.bean.ImageList;
import com.guo.bean.LargeImageList;
import com.nostra13.universalimageloader.core.ImageLoader;

import android.annotation.SuppressLint;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class XlistviewAdapter extends BaseAdapter {

private Context context;List<DataBean> list;private ImageLoader imageLoader;public XlistviewAdapter(Context context, List<DataBean> list) {    super();    this.context = context;    this.list = list;    imageLoader = ImageLoader.getInstance();}@Overridepublic int getCount() {    // TODO Auto-generated method stub    return list.size();}@Overridepublic Object getItem(int position) {    // TODO Auto-generated method stub    return list.get(position);}@Overridepublic long getItemId(int position) {    // TODO Auto-generated method stub    return position;}@SuppressLint("CutPasteId") @Overridepublic View getView(int position, View convertView, ViewGroup parent) {    int type = getItemViewType(position);    ViewHolder0 holder0;    ViewHolder1 holder1;    ViewHolder2 holder2;    ViewHolder3 holder3;    switch (type) {    case 0:        if(convertView==null){            holder0=new ViewHolder0();            convertView=View.inflate(context, R.layout.item0, null);            holder0.textView=(TextView) convertView.findViewById(R.id.title);            holder0.imageView=(ImageView) convertView.findViewById(R.id.imageView_0);            convertView.setTag(holder0);        }else{            holder0=(ViewHolder0) convertView.getTag();        }        holder0.textView.setText(list.get(position).title);        ImageView image=holder0.imageView;        Log.e("一张", list.get(position).image_list.get(0).url);        imageLoader.displayImage(list.get(position).image_list.get(0).url, image);        break;    case 1:        if(convertView==null){            holder1=new ViewHolder1();            convertView=View.inflate(context, R.layout.item1, null);            holder1.textView=(TextView) convertView.findViewById(R.id.title);            holder1.imageView1=(ImageView) convertView.findViewById(R.id.imageView_0);            holder1.imageView2=(ImageView) convertView.findViewById(R.id.imageView_1);            holder1.imageView3=(ImageView) convertView.findViewById(R.id.imageView_2);            convertView.setTag(holder1);        }else{            holder1=(ViewHolder1) convertView.getTag();        }        holder1.textView.setText(list.get(position).title);        ImageView image0=holder1.imageView1;        ImageView image1=holder1.imageView2;        ImageView image2=holder1.imageView3;        imageLoader.displayImage(list.get(position).image_list.get(0).url, image0);        imageLoader.displayImage(list.get(position).image_list.get(1).url, image1);        imageLoader.displayImage(list.get(position).image_list.get(2).url, image2);        break;    case 2:        if(convertView==null){            holder2=new ViewHolder2();            convertView=View.inflate(context, R.layout.item2, null);            holder2.textView=(TextView) convertView.findViewById(R.id.title);            holder2.imageView=(ImageView) convertView.findViewById(R.id.imageView_0);            convertView.setTag(holder2);        }else{            holder2=(ViewHolder2) convertView.getTag();        }        holder2.textView.setText(list.get(position).title);        ImageView image4=holder2.imageView;        imageLoader.displayImage(list.get(position).large_image_list.get(0).url, image4);        break;    case 3:        if(convertView==null){            holder3=new ViewHolder3();            convertView=View.inflate(context, R.layout.item0, null);            holder3.textView=(TextView) convertView.findViewById(R.id.title);            convertView.setTag(holder3);        }else{            holder3=(ViewHolder3) convertView.getTag();        }        holder3.textView.setText(list.get(position).title);        break;    }    return convertView;}@Override// 设置条目类型总数public int getViewTypeCount() {    // TODO Auto-generated method stub    return 4;}@Override// 获取当前条目类型public int getItemViewType(int position) {    List<ImageList> imagelist = list.get(position).image_list;    List<LargeImageList> largeImageList = list.get(position).large_image_list;    // 加载一张图片布局    if (imagelist != null && imagelist.size() == 1) {        return 0;        // // 加载三张图片布局    } else if (imagelist != null && imagelist.size() == 3) {        return 1;    } else if (largeImageList != null && largeImageList.size() == 1) {        // 加载一张图片布局(大图)        return 2;    } else {        // 没有图片布局        return 3;    }}class ViewHolder0{    TextView textView;    ImageView imageView;}class ViewHolder1{    TextView textView;    ImageView imageView1;    ImageView imageView2;    ImageView imageView3;}class ViewHolder2{    TextView textView;    ImageView imageView;}class ViewHolder3{    TextView textView;}

}

//aplication 图片
package com.guo.application;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration.Builder;

import android.app.Application;

public class MyApplication extends Application {

@Overridepublic void onCreate() {    // TODO Auto-generated method stub    super.onCreate();    ImageLoaderConfiguration.Builder builder = new Builder(            getApplicationContext());    ImageLoaderConfiguration configuration = builder.build();    ImageLoader.getInstance().init(configuration);}

}

//设置上拉加载下拉刷新
package com.guo.fragment;

import java.text.SimpleDateFormat;
import java.util.List;

import org.com.cctest.view.XListView;
import org.com.cctest.view.XListView.IXListViewListener;

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.gson.Gson;
import com.guo.activity.R;
import com.guo.adapter.XlistviewAdapter;
import com.guo.bean.Data;
import com.guo.bean.DataBean;
import com.guo.http.GetJson;

public class Fragment_title extends Fragment {

private org.com.cctest.view.XListView xListView;private GetJson gj;private String Url = "http://ic.snssdk.com/2/article/v25/stream/";private List<DataBean> datalist;private XlistviewAdapter adapter;private String type="";@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,        Bundle savedInstanceState) {    View v = inflater.inflate(R.layout.fragment_title, container, false);    xListView = (XListView) v.findViewById(R.id.xlistview);    gj = new GetJson();    // 设置xlistview 上拉加载,下拉刷新    initxlist();    new Mythread().start();    return v;}private void initxlist() {    // 激活加载更多    xListView.setPullLoadEnable(true);    // 激活下拉刷新    xListView.setPullRefreshEnable(true);    // 设置xlistView上拉加载下拉刷新的监听    xListView.setXListViewListener(new IXListViewListener() {        @Override        // 下拉刷新的回调方法        public void onRefresh() {            // 下拉刷新,应该展示最新数据,所以清空集合            datalist.clear();            //再次启动线程            new Mythread().start();            adapter.notifyDataSetChanged();            // 设置刷新时间            xListView.setRefreshTime(dateFormat());            // 停止加载更多            xListView.stopLoadMore();            // 停止刷新            xListView.stopRefresh();        }        @Override        // //上拉加载的回调方法        public void onLoadMore() {            adapter.notifyDataSetChanged();            // 停止加载更多            xListView.stopLoadMore();            // 停止刷新            xListView.stopRefresh();        }    });}@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)public void onActivityCreated(Bundle savedInstanceState) {    // 接收头部传过来的参数 标题    Bundle bundle = getArguments();    String ss = bundle.getString("title", "");    if(ss.equals("推荐")){        type="";    }else if(ss.equals("热点")){        type="?category=news_hot";    }else if(ss.equals("奥运会")){        type="?category=%E5%A5%A5%E8%BF%90%E4%BC%9A";    }else if(ss.equals("娱乐")){        type="?category=news_entertainment";    }else if(ss.equals("科技")){        type="?category=news_tech";    }else if(ss.equals("汽车")){        type="?category=news_car";    }    super.onActivityCreated(savedInstanceState);}/** * 格式化毫秒值 *  * @return */@SuppressLint("SimpleDateFormat") private String dateFormat() {    long currentTimeMillis = System.currentTimeMillis();    SimpleDateFormat dateFormat = new SimpleDateFormat(            "yyyy-MM-dd  hh:mm:ss");    String format = dateFormat.format(currentTimeMillis);    return format;}class Mythread extends Thread {    @Override    public void run() {        super.run();        // 接收请回的数据        String datajson = gj.getjson(Url+type);        Gson gson = new Gson();        Data data = gson.fromJson(datajson, Data.class);        List<DataBean> data2 = data.data;        Message message=new Message();        message.what=1;        message.obj=data2;        handler.sendMessage(message);    }    public Handler handler=new Handler(){        @SuppressWarnings("unchecked")        @SuppressLint("HandlerLeak") public void handleMessage(Message msg) {            switch (msg.what) {            case 1:                datalist = (List<DataBean>) msg.obj;                adapter = new XlistviewAdapter(getActivity(), datalist);                xListView.setAdapter(adapter);                break;            }        };    };}

}

0 0