package com.bestapp.yikuair.adapter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import com.bestapp.yikuair.officialaccount.OfficialAccountFragment;
import com.bestapp.yikuair.utils.AccountInfomation;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.bestapp.yikuair.R;
public class SubscripionAccountAdapter extends BaseAdapter {
private ArrayList<AccountInfomation> mInfos;
private Context mContext;
public SubscripionAccountAdapter(Context context,
ArrayList<AccountInfomation> infos) {
this.mInfos = infos;
this.mContext = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mInfos.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mInfos.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
HoldView mHoldView;
mHoldView = new HoldView();
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.view_notify, null);
mHoldView.ico = (ImageView) convertView
.findViewById(R.id.notify_ico_view);
mHoldView.badgeView = (TextView) convertView
.findViewById(R.id.notify_num);
mHoldView.name = (TextView) convertView.findViewById(R.id.notify_name);
mHoldView.info = (TextView) convertView.findViewById(R.id.notify_info);
mHoldView.time = (TextView) convertView
.findViewById(R.id.notify_f_time);
mHoldView.delete = (Button) convertView.findViewById(R.id.delete_info);
mHoldView.delete.setTag(position);
AccountInfomation subscripitionInfo = (AccountInfomation) getItem(position);
String time = getShowTime(subscripitionInfo.getTime()).toString();
mHoldView.time.setText(time);
mHoldView.name.setText(subscripitionInfo.getRealname());
mHoldView.info.setText(subscripitionInfo.getInformation());
mHoldView.delete.setVisibility(View.GONE);
if (subscripitionInfo.getHeadurl() == null
|| subscripitionInfo.getHeadurl().trim().equals("")) {
mHoldView.ico.setImageResource(R.drawable.ico_boy);
} else {
OfficialAccountFragment.instance.asyncImageLoader.loadBitmap(
mHoldView.ico, subscripitionInfo.getHeadurl(), 0);
}
if (subscripitionInfo.getInfor_num() != 0) {
mHoldView.badgeView.setText(String.valueOf(subscripitionInfo
.getInfor_num()));
mHoldView.badgeView.setVisibility(View.VISIBLE);
} else {
mHoldView.badgeView.setVisibility(View.GONE);
}
return convertView;
}
@SuppressLint("SimpleDateFormat")
private String getShowTime(String time) {
if (time == null || time.equals(""))
return "";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = null;
Date date = null;
long l = 0L;
try {
now = new Date();
date = df.parse(time);
l = now.getTime() - date.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int day = (int) (l / (24 * 60 * 60 * 1000));
int hour = (int) (l / (60 * 60 * 1000) - day * 24);
int min = (int) ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
int s = (int) (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
StringBuffer timer = new StringBuffer();
if (day != 0) {
timer.append(day + "天");
timer.append("前");
return timer.toString();
}
if (hour != 0) {
timer.append(min + "小时");
}
if (min != 0) {
timer.append(min + "分钟");
if (hour != 0) {
timer.append("前");
return timer.toString();
}
}
if (s != 0) {
timer.append(s + "秒");
}
if (timer.toString().equals("")) {
return "当前";
}
timer.append("前");
return timer.toString();
}
static class HoldView {
ImageView ico;
TextView name;
TextView info;
TextView time;
Button delete;
TextView badgeView;
}
}