protected override async void ConvertAsync(RecyclerView.ViewHolder holder, QuestionCommentsModel model) { var baseHolder = holder as BaseAdapter.BaseViewHolder; var itemview = baseHolder.GetConvertView(); itemview.Tag = model.CommentID; (baseHolder.GetView(Resource.Id.txtDateAdded) as TextView).Text = DateTimeUtils.CommonTime(Convert.ToDateTime(model.DateAdded)); (baseHolder.GetView(Resource.Id.txtContent) as TextView).SetText(HtmlUtils.GetHtml(model.ConvertedContent == null? model.Content: model.ConvertedContent), TextView.BufferType.Spannable); var imgUserUrl = (baseHolder.GetView(Resource.Id.imgIconName) as ImageView); var imgDelete = (baseHolder.GetView(Resource.Id.imgDelete) as ImageButton); (baseHolder.GetView(Resource.Id.progressBar) as ProgressBar).Visibility = ViewStates.Gone; imgDelete.Tag = model.CommentID; imgDelete.SetOnClickListener(this); if (User != null && User.UserId == model.PostUserInfo.UCUserID) { User.Score = model.PostUserInfo.QScore; await SQLiteUtils.Instance().UpdateUser(User); imgDelete.Visibility = ViewStates.Visible; } else { imgDelete.Visibility = ViewStates.Gone; } if (model.PostUserInfo != null && model.PostUserInfo.UserID > 0) { (baseHolder.GetView(Resource.Id.txtUserName) as TextView).Text = HtmlUtils.GetHtml(model.PostUserInfo.UserName).ToString(); (baseHolder.GetView(Resource.Id.txtScore) as TextView).Text = HtmlUtils.GetScoreName(model.PostUserInfo.QScore) + " ¡¤ " + model.PostUserInfo.QScore + "Ô°¶¹"; try { Picasso.With(context) .Load("https://pic.cnblogs.com/face/" + model.PostUserInfo.IconName) .Placeholder(Resource.Drawable.placeholder) .Error(Resource.Drawable.placeholder) .Transform(new CircleTransform()) .Into(imgUserUrl); } catch { } } }
private void BindView() { handler.Post(() => { txtTitle.Text = question.Title; txtDateAdded.Text = DateTimeUtils.CommonTime(question.DateAdded); if (question.Award > 0) { this.txtGold.Text = question.Award.ToString(); this.txtGold.Visibility = ViewStates.Visible; } else { this.txtGold.Visibility = ViewStates.Gone; } if (question.DealFlag == 1) { this.txtDealFlag.Text = Resources.GetString(Resource.String.question_dealflag_1); this.txtDealFlag.Selected = false; } else if (question.DealFlag == -1) { this.txtDealFlag.Text = Resources.GetString(Resource.String.question_dealflag_2); this.txtDealFlag.Selected = true; } else { this.txtDealFlag.Text = Resources.GetString(Resource.String.question_dealflag_0); this.txtDealFlag.Selected = true; } if (question.Tags != null && question.Tags.Length > 0) { txtTag.Visibility = ViewStates.Visible; txtTag.Text = " " + question.Tags.Replace(',', ' '); } else { txtTag.Visibility = ViewStates.Gone; } if (question.DiggCount > 0) { txtDigg.Text = question.DiggCount.ToString(); } if (question.ViewCount > 0) { txtRead.Text = question.ViewCount.ToString(); } if (question.AnswerCount > 0) { txtComments.Text = question.AnswerCount.ToString(); } if (question.Content == null || question.Content == "") { OnRefresh(); } else { var content = HtmlUtils.ReadHtml(Assets); var body = HtmlUtils.ReplaceHtml(question.Content).Trim('"'); if (question.Addition != null) { body += " <h2>ÎÊÌâ²¹³ä£º</h2>" + question.Addition.Content; } txtBody.LoadDataWithBaseURL("file:///android_asset/", content.Replace("#title#", "").Replace("#body#", body), "text/html", "utf-8", null); } if (question.QuestionUserInfo != null && question.QuestionUserInfo.UserID > 0) { txtUserName.Text = Html.FromHtml(question.QuestionUserInfo.UserName).ToString(); txtScore.Text = HtmlUtils.GetScoreName(question.QuestionUserInfo.QScore) + " ¡¤ " + question.QuestionUserInfo.QScore + "Ô°¶¹ ¡¤ "; try { Picasso.With(this) .Load("https://pic.cnblogs.com/face/" + question.QuestionUserInfo.IconName) .Placeholder(Resource.Drawable.placeholder) .Error(Resource.Drawable.placeholder) .Transform(new CircleTransform()) .Into(imgIconName); } catch (Exception) { } } }); }