package nico.styTool; import android.content.Context; import android.content.SharedPreferences; import android.support.v7.widget.CardView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Random; //import com.bumptech.glide.load.engine.DiskCacheStrategy; //import com.bumptech.glide.Glide; /** * Created by luxin on 15-12-15. * http://luxin.gitcafe.io */ public class HelpsMainAdapter extends BaseAdapter { //private final static String TAG = "HelpsMainAdapter"; private Context mContext; private List<Helps_a> mData; private LayoutInflater inflater; private int mColor; public HelpsMainAdapter(Context context, List<Helps_a> list) { this.mContext = context; this.mData = list; inflater = LayoutInflater.from(context); } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int position) { return mData.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 = inflater.inflate(R.layout.lxw_item_helps, null); holder = new ViewHolder(); //holder.linearLayout = (LinearLayout) convertView.findViewById(R.id.lxw_id_item_helps_include_avertor); holder.userimg = (ImageView) convertView.findViewById(R.id.lxw_id_item_helps_userimg); holder.username = (TextView) convertView.findViewById(R.id.lxw_id_item_helps_username); holder.personality = (TextView) convertView.findViewById(R.id.lxw_id_item_helps_user_personality); holder.creatTime = (TextView) convertView.findViewById(R.id.lxw_id_item_helps_create_time); holder.content = (TextView) convertView.findViewById(R.id.lxw_id_item_helps_content); holder.frameLayout = (LinearLayout) convertView.findViewById(R.id.lxwitemhelpsLinearLayout1); holder.gridView = (CardView) convertView.findViewById(R.id.lxwitemhelpsCardView1); /*holder.contentImg = (ImageView) holder.frameLayout.findViewById(R.id.lxw_id_item_helps_content_img); */ convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.userimg.setImageResource(R.mipmap.ic_launcher); //holder.contentImg.setImageResource(R.drawable.pictures_no); /* holder.contentImg.setVisibility(View.GONE); holder.gridView.setVisibility(View.GONE); holder.contentImg.setFocusable(false); holder.gridView.setFocusable(false); */ Helps_a helps = mData.get(position); // Log.e(TAG, "===helps=====createAt=" + helps.getCreatedAt()); MyUser myUser = helps.getUser(); if (myUser == null) { // Log.e(TAG, "====myUser is null==="); } if (myUser.getAuvter() != null) { //String auvterPath = "http://file.bmob.cn/" + myUser.getAuvter().getUrl(); //Glide.with(mContext).load(auvterPath).diskCacheStrategy(DiskCacheStrategy.ALL).into(holder.userimg); ImageLoader.getmInstance().loaderImage(Constant.USERIMG + myUser.getAuvter().getUrl(), holder.userimg, true); } holder.username.setText(myUser.getUsername()); /* boolean Run = helps.getPhontofile(); //Editor editor = sharedPreferences.edit(); if (Run) { holder.gridView.setVisibility(View.VISIBLE); } else { holder.gridView.setVisibility(View.GONE); } */ if (myUser.getPersonality() != null) { holder.personality.setText(myUser.getPersonality().toString().length() > 16 ?myUser.getPersonality().substring(0, 22) + "...": myUser.getPersonality().toString()); } holder.creatTime.setText(getCreateTimes(helps.getCreatedAt())); // SpannableString spannableString=getSpannableString(helps.getContent(), mContext); // holder.content.setText(spannableString); SharedPreferences sharedPreferences = mContext.getSharedPreferences("nico.styTool_preferences", Context.MODE_PRIVATE); boolean isFirstRun = sharedPreferences.getBoolean("if_bi", true); //Editor editor = sharedPreferences.edit(); if (isFirstRun) { Random random = new Random(); mColor = 0xff000000 | random.nextInt(0xffffff); holder.frameLayout.setBackgroundColor(mColor); //StatusBarUtil.setColor(ColorStatusBarActivity.this, mColor, mAlpha); // } else { } return convertView; } private class ViewHolder { ImageView userimg; TextView username; TextView personality; TextView creatTime; LinearLayout frameLayout; TextView content; CardView gridView; } //createAt=2015-12-17 15:26:45 private String getCreateTimes(String dates) { Date old = toDate(dates); Date nowtime = new Date(System.currentTimeMillis()); long values = nowtime.getTime() - old.getTime(); values = values / 1000; // Log.e(TAG, "====values time===" + values); if (values < 60 && values > 0) { return values + "秒前"; } if (values > 60 && values < 60 * 60) { return values / 60 + "分钟前"; } if (values < 60 * 60 * 24 && values > 60 * 60) { return values / 3600 + "小时前"; } if (values < 60 * 60 * 24 * 2 && values > 60 * 60 * 24) { return "昨天"; } if (values < 60 * 60 * 3 * 24 && values > 60 * 60 * 24 * 2) { return "前天"; } if (values < 60 * 60 * 24 * 30 && values > 60 * 60 * 24 * 3) { return values / (60 * 60 * 24) + "天前"; } if (values < 60 * 60 * 24 * 365 && values > 60 * 60 * 24 * 30) { return nowtime.getMonth() - old.getMonth() + "个月前"; } return values / (60 * 60 * 24 * 30 * 365) + "年前"; } private Date toDate(String date) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:m:s"); Date date1 = null; try { date1 = format.parse(date); // Log.e(TAG,"===date==="+date1); } catch (ParseException e) { e.printStackTrace(); } return date1; } }