public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; Comment entity = list.get(position); if (convertView != null && convertView.getId() == R.id.comment_list) { viewHolder = (ViewHolder) convertView.getTag(); } else { viewHolder = new ViewHolder(); convertView = mInflater.inflate(R.layout.comment_list_item, null); viewHolder.comment_id = (TextView) convertView .findViewById(R.id.comment_id); viewHolder.comment_user_name = (TextView) convertView .findViewById(R.id.comment_user_name); viewHolder.comment_user_url = (TextView) convertView .findViewById(R.id.comment_user_url); viewHolder.comment_content = (TextView) convertView .findViewById(R.id.comment_content); viewHolder.comment_format_date = (TextView) convertView .findViewById(R.id.comment_format_date); viewHolder.comment_date = (TextView) convertView .findViewById(R.id.comment_date); viewHolder.comment_floor = (TextView) convertView .findViewById(R.id.comment_floor); } viewHolder.comment_id.setText(String.valueOf(entity.GetCommentId())); viewHolder.comment_user_name.setText(entity.GetPostUserName()); viewHolder.comment_user_url.setText(entity.GetPostUserUrl()); // 替换掉所有的html标签 String content = entity.GetContent(); content = content.replace("<br />", "\r\n"); content = HtmlRegexpUtil.filterHtml(content); viewHolder.comment_content.setText(content); viewHolder.comment_date.setText(AppUtil.ParseDateToString(entity .GetAddTime())); String simpleDateString = AppUtil.DateToChineseString(entity .GetAddTime()); viewHolder.comment_format_date.setText(simpleDateString); // 楼层 int floorNum = (pageIndex - 1) * Config.COMMENT_PAGE_SIZE + position + 1; viewHolder.comment_floor.setText(String.valueOf(floorNum) + "楼:"); convertView.setTag(viewHolder); return convertView; }
/** * 插入 * * @param list */ public void SynchronyData2DB(List<Blog> blogList) { List<ContentValues> list = new ArrayList<ContentValues>(); for (int i = 0, len = blogList.size(); i < len; i++) { ContentValues contentValues = new ContentValues(); contentValues.put("BlogId", blogList.get(i).GetBlogId()); contentValues.put("BlogTitle", blogList.get(i).GetBlogTitle()); contentValues.put("Summary", blogList.get(i).GetSummary()); String content = ""; if (blogList.get(i).GetBlogContent() != null) { content = blogList.get(i).GetBlogContent(); } contentValues.put("Content", content); contentValues.put("Published", AppUtil.ParseDateToString(blogList.get(i).GetAddTime())); Date datetime = new java.util.Date(); String updateTime = ""; if (blogList.get(i).GetUpdateTime() != null) { updateTime = AppUtil.ParseDateToString(blogList.get(i).GetUpdateTime()); } else { updateTime = AppUtil.ParseDateToString(datetime); } contentValues.put("Updated", updateTime); contentValues.put("AuthorName", blogList.get(i).GetAuthor()); contentValues.put("AuthorAvatar", blogList.get(i).GetAvator()); String authorUrl = ""; if (blogList.get(i).GetAuthorUrl() != null) { authorUrl = blogList.get(i).GetAuthorUrl(); } contentValues.put("AuthorUrl", authorUrl); contentValues.put("View", blogList.get(i).GetViewNum()); contentValues.put("Comments", blogList.get(i).GetCommentNum()); contentValues.put("Digg", blogList.get(i).GetDiggsNum()); contentValues.put("IsReaded", false); contentValues.put("CateId", blogList.get(i).GetCateId()); String cateName = ""; if (blogList.get(i).GetCateName() != null) { cateName = blogList.get(i).GetCateName(); } contentValues.put("CateName", cateName); contentValues.put("IsFull", blogList.get(i).GetIsFullText()); contentValues.put("BlogUrl", blogList.get(i).GetBlogUrl()); contentValues.put("UserName", blogList.get(i).GetUserName()); list.add(contentValues); } synchronized (_writeLock) { db.beginTransaction(); try { // 清除已有 // String where="IsFull=?"; // String[] args={"0"}; // db.delete(DB_BLOG_TABLE, where, args); for (int i = 0, len = list.size(); i < len; i++) { int blogId = list.get(i).getAsInteger("BlogId"); boolean isExist = Exist(blogId); boolean isFull = IsFull(blogId); if (!isExist) { db.insert(Config.DB_BLOG_TABLE, null, list.get(i)); } else if (!isFull) { // 如果没有写内容 SynchronyContent2DB( list.get(i).getAsInteger("BlogId"), list.get(i).getAsString("Content")); } } db.setTransactionSuccessful(); } finally { db.endTransaction(); } } }