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; } }; };}
}
- XListView
- XListView
- Xlistview
- XListView
- xListView
- XListView
- xlistview
- xListView
- XlistView
- xlistview
- xlistview
- XListView
- xlistview
- xListview
- XListView
- XListView
- xlistview
- xlistview
- 交叉熵及相关
- navigation 包各个参数含义
- VDI管理员应该掌握的四种虚拟磁盘格式
- Swift中的required修饰符
- android 内存管理
- Xlistview
- [PAT] B1009
- LSTM的理解
- leetcode No123. Best Time to Buy and Sell Stock III
- android 屏幕适配
- Appium使用实践
- Android开发各类常见错误解决方案
- 剑指Offer_47_求1+2+3+...+n
- Retrofit Gson解析空字符串的问题