package com.rong.adapter;
import java.text.SimpleDateFormat;
import java.util.List;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.rong.bean.Data;
import com.rong.view.R;
import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMImage;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MyListViewAdapter extends BaseAdapter {
private List<Data> list;
private Context context;
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.drawable.ic_launcher)
.bitmapConfig(Bitmap.Config.RGB_565)
.showImageOnFail(R.drawable.account_icon_mobile)
// 图片加载中,显示的默认图片
.showImageOnLoading(R.drawable.account_icon_mobile)
.showImageForEmptyUri(R.drawable.account_icon_mobile).build();
final SHARE_MEDIA[] displaylist = new SHARE_MEDIA[] { SHARE_MEDIA.WEIXIN,
SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA, SHARE_MEDIA.QQ,
SHARE_MEDIA.QZONE, SHARE_MEDIA.DOUBAN };
public MyListViewAdapter(List<Data> list, Context context) {
super();
this.list = list;
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
// 获取当前条目显示的类型
int itemViewType = getItemViewType(position);
ViewHolder1 holder1 = null;
ViewHolder2 holder2 = null;
ViewHolder3 holder3 = null;
ViewHolder4 holder4 = null;
ViewHolder5 holder5 = null;
if (convertView == null) {
switch (itemViewType) {
case 0:
// 根据数据类型,加载有图片的布局文件
convertView = View.inflate(context, R.layout.item_lv_case1,
null);
// 实例化对象
holder1 = new ViewHolder1();
holder1.tv_pinglun = (TextView) convertView
.findViewById(R.id.tv_pinglun);
holder1.tv_title_lv_frag = (TextView) convertView
.findViewById(R.id.tv_title_lv_frag);
holder1.tv_title_lv_label = (TextView) convertView
.findViewById(R.id.tv_title_lv_label);
holder1.tv_title_lv_source = (TextView) convertView
.findViewById(R.id.tv_title_lv_source);
holder1.tv_pinlun_num = (TextView) convertView
.findViewById(R.id.tv_pinlun_num);
holder1.tv_time = (TextView) convertView
.findViewById(R.id.tv_time);
convertView.setTag(holder1);
break;
case 1:
// 根据数据类型,加载有图片的布局文件
convertView = View.inflate(context, R.layout.item_lv_case2,
null);
// 实例化对象
holder2 = new ViewHolder2();
holder2.iv_case2_1 = (ImageView) convertView
.findViewById(R.id.iv_case2_1);
holder2.tv_case2_title = (TextView) convertView
.findViewById(R.id.tv_case2_title);
holder2.tv_case2_source = (TextView) convertView
.findViewById(R.id.tv_case2_source);
holder2.tv_case2_pinlun = (TextView) convertView
.findViewById(R.id.tv_case2_pinlun);
holder2.tv_case2_time = (TextView) convertView
.findViewById(R.id.tv_case2_time);
convertView.setTag(holder2);
break;
case 2:
// 根据数据类型,加载有图片的布局文件
convertView = View.inflate(context, R.layout.item_lv_case3,
null);
// 实例化对象
holder3 = new ViewHolder3();
holder3.iv_case3_1 = (ImageView) convertView
.findViewById(R.id.iv_case3_1);
holder3.tv_case3_title = (TextView) convertView
.findViewById(R.id.tv_case3_title);
holder3.tv_case3_source = (TextView) convertView
.findViewById(R.id.tv_case3_source);
holder3.tv_case3_pinlun = (TextView) convertView
.findViewById(R.id.tv_case3_pinlun);
convertView.setTag(holder3);
break;
case 3:
// 根据数据类型,加载有图片的布局文件
convertView = View.inflate(context, R.layout.item_lv_case4,
null);
// 实例化对象
holder4 = new ViewHolder4();
holder4.iv_case4_1 = (ImageView) convertView
.findViewById(R.id.iv_case4_1);
holder4.iv_case4_2 = (ImageView) convertView
.findViewById(R.id.iv_case4_2);
holder4.iv_case4_3 = (ImageView) convertView
.findViewById(R.id.iv_case4_3);
holder4.tv_case4_title = (TextView) convertView
.findViewById(R.id.tv_case4_title);
holder4.tv_case4_source = (TextView) convertView
.findViewById(R.id.tv_case4_source);
convertView.setTag(holder4);
holder4.tv_case4_pinlun = (TextView) convertView
.findViewById(R.id.tv_case4_pinlun);
convertView.setTag(holder4);
holder4.tv_case4_time = (TextView) convertView
.findViewById(R.id.tv_case4_time);
convertView.setTag(holder4);
break;
case 4:
// 根据数据类型,加载有图片的布局文件
convertView = View.inflate(context, R.layout.item_lv_case5,
null);
// 实例化对象
holder5 = new ViewHolder5();
holder5.iv_item_case5_1 = (ImageView) convertView
.findViewById(R.id.iv_item_case5_1);
holder5.iv_item_case5_2 = (ImageView) convertView
.findViewById(R.id.iv_item_case5_2);
holder5.iv_item_case5_3 = (ImageView) convertView
.findViewById(R.id.iv_item_case5_3);
holder5.iv_item_case5_4 = (ImageView) convertView
.findViewById(R.id.iv_item_case5_4);
holder5.iv_item_case5_5 = (ImageView) convertView
.findViewById(R.id.iv_item_case5_5);
holder5.iv_item_case5_6 = (ImageView) convertView
.findViewById(R.id.iv_item_case5_6);
holder5.tv_item_case5_1 = (TextView) convertView
.findViewById(R.id.tv_item_case5_1);
holder5.tv_item_case5_2 = (TextView) convertView
.findViewById(R.id.tv_item_case5_2);
holder5.tv_item_case5_3 = (TextView) convertView
.findViewById(R.id.tv_item_case5_3);
holder5.tv_item_case5_4 = (TextView) convertView
.findViewById(R.id.tv_item_case5_4);
convertView.setTag(holder5);
break;
}
} else {
switch (itemViewType) {
case 0:
holder1 = (ViewHolder1) convertView.getTag();
break;
case 1:
holder2 = (ViewHolder2) convertView.getTag();
break;
case 2:
holder3 = (ViewHolder3) convertView.getTag();
break;
case 3:
holder4 = (ViewHolder4) convertView.getTag();
break;
case 4:
holder5 = (ViewHolder5) convertView.getTag();
break;
}
}
// 给控件赋值
Data data = list.get(position);
// 得到ImageLoader
ImageLoader instance = ImageLoader.getInstance();
switch (itemViewType) {
case 0:
String title1 = data.title;// 标题
if (title1 != null && !"".equals(title1) && !"".equals(title1)) {
holder1.tv_title_lv_frag.setText(data.title);// 设置标题
}
holder1.tv_pinglun.setText("评论");
String comment_count = data.comment_count;// 评论
// 标签
String label1 = data.label;
if (label1 != null && !"".equals(label1) && !"".equals(label1)) {
holder1.tv_title_lv_label.setText(label1);
}
String source1 = data.source;
if (source1 != null && !"".equals(source1) && !"".equals(source1)) {
holder1.tv_title_lv_source.setText(source1);
}
// 设置评论
if (Integer.parseInt(comment_count) == 0) {
holder1.tv_pinlun_num.setVisibility(View.GONE);
}
// 设置时间
SimpleDateFormat format = new SimpleDateFormat(
"yyyy/MM/dd HH:mm:ss");
long time = Long.parseLong(data.publish_time);
String str1 = format.format(time);
holder1.tv_time.setText(str1);
break;
case 1:
instance.displayImage(data.large_image_list.get(0).url,
holder2.iv_case2_1);
holder2.tv_case2_title.setText(data.title);
holder2.tv_case2_source.setText(data.source);
// 设置评论
if (Integer.parseInt(data.comment_count) == 0) {
holder2.tv_case2_pinlun.setVisibility(View.GONE);
} else {
holder2.tv_case2_pinlun.setText("评论 " + data.comment_count);
}
SimpleDateFormat format1 = new SimpleDateFormat(
"yyyy/MM/dd HH:mm:ss");
long time1 = Long.parseLong(data.publish_time);
String str2 = format1.format(time1);
holder2.tv_case2_time.setText(str2);
break;
case 2:
instance.displayImage(data.middle_image.url, holder3.iv_case3_1);
holder3.tv_case3_title.setText(data.title);
String source3 = data.source;
if (source3 != null && !"".equals(source3) && !"".equals(source3)) {
holder3.tv_case3_source.setText(source3);
}
// 评论
String comment_count2 = data.comment_count;
holder3.tv_case3_pinlun.setText("评论" + comment_count2);
break;
case 3:
instance.displayImage(data.image_list.get(0).url,
holder4.iv_case4_1);
instance.displayImage(data.image_list.get(1).url,
holder4.iv_case4_2);
instance.displayImage(data.image_list.get(2).url,
holder4.iv_case4_3);
holder4.tv_case4_title.setText(data.title);
holder4.tv_case4_source.setText(data.source);
// 设置评论
if (Integer.parseInt(data.comment_count) == 0) {
holder4.tv_case4_pinlun.setVisibility(View.GONE);
} else {
holder4.tv_case4_pinlun.setText("评论 " + data.comment_count);
}
SimpleDateFormat format3 = new SimpleDateFormat(
"yyyy/MM/dd HH:mm:ss");
long time3 = Long.parseLong(data.publish_time);
String str4 = format3.format(time3);
holder4.tv_case4_time.setText(str4);
break;
case 4:
instance.displayImage(data.large_image.url_list.get(0).url,
holder5.iv_item_case5_1);
String screen_name = data.screen_name;
if (!"".equals(screen_name) && !"".equals(screen_name.trim())
&& screen_name != null) {
holder5.tv_item_case5_1.setText(screen_name);
} else {
holder5.tv_item_case5_1.setVisibility(View.GONE);
}
holder5.tv_item_case5_2.setText(data.digg_count);
// holder5.tv_item_case5_3.setText(data.repin_count);
holder5.tv_item_case5_4.setText(data.repin_count);
holder5.iv_item_case5_6.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
UMImage image = new UMImage(context, BitmapFactory
.decodeResource(context.getResources(),
R.drawable.boy_3));
new ShareAction((Activity) context)
.setDisplayList(displaylist).withText("呵呵")
.withTitle("title")
.withTargetUrl("http://www.baidu.com")
.withMedia(image)
.setListenerList(new UMShareListener() {
@Override
public void onResult(SHARE_MEDIA platform) {
Toast.makeText(context,
platform + " 分享成功啦",
Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SHARE_MEDIA platform,
Throwable t) {
Toast.makeText(context,
platform + " 分享失败啦",
Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(context,
platform + " 分享取消了",
Toast.LENGTH_SHORT).show();
}
}).open();
}
});
break;
}
return convertView;
}
@Override
public int getItemViewType(int position) {
Data data = list.get(position);
if (data.large_image_list != null && data.large_image_list.size() > 0) {
return 1;
} else if (!"".equals(data.large_image) && data.large_image != null) {
return 4;
} else if (data.middle_image != null && !"".equals(data.middle_image)) {
return 2;
} else if (data.image_list != null && data.image_list.size() == 3) {
return 3;
} else {
return 0;
}
}
@Override
public int getViewTypeCount() {
return 5;
}
// case0
class ViewHolder1 {
TextView tv_title_lv_frag;
TextView tv_title_lv_label;
TextView tv_title_lv_source;
TextView tv_pinglun;
TextView tv_pinlun_num;
TextView tv_time;
}
// case1
class ViewHolder2 {
TextView tv_case2_title;
TextView tv_case2_source;
TextView tv_case2_pinlun;
TextView tv_case2_time;
ImageView iv_case2_1;
}
// case2
class ViewHolder3 {
TextView tv_case3_title;
TextView tv_case3_source;
TextView tv_case3_pinlun;
ImageView iv_case3_1;
}
// case3
class ViewHolder4 {
TextView tv_case4_title;
TextView tv_case4_source;
TextView tv_case4_pinlun;
TextView tv_case4_time;
ImageView iv_case4_1;
ImageView iv_case4_2;
ImageView iv_case4_3;
}
// case4
class ViewHolder5 {
TextView tv_item_case5_1;
TextView tv_item_case5_2;
TextView tv_item_case5_3;
TextView tv_item_case5_4;
ImageView iv_item_case5_1;
ImageView iv_item_case5_2;
ImageView iv_item_case5_3;
ImageView iv_item_case5_4;
ImageView iv_item_case5_5;
ImageView iv_item_case5_6;
}
}
图文混排
最新推荐文章于 2024-04-29 10:55:40 发布