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
                {
                }
            }
        }
Example #2
0
        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)
                    {
                    }
                }
            });
        }