我有一个以默认文本值开头的 TextView,然后根据用户的操作,当单击按钮时,TextView 的文本需要在代码中更改。看起来很简单,但我遇到了问题。
目前,发生的情况是当用户单击触发文本更改的提交按钮时,新文本只是被添加到原始 TextView 下的屏幕中,而不是简单地更改文本值。这几乎就像是在添加一个新的 TextView。
这是执行此操作的代码:
lblSlogan.Invalidate();
lblSlogan.SetText(currentSlogan.Slogan, TextView.BufferType.Normal);
我也尝试过这种方式,但没有运气:
lblSlogan.Invalidate();
lblSlogan.Text = currentSlogan.Slogan;
lblSlogan 是一个文本视图。我错过了什么吗?我也尝试了不使用 invalidate() 的方法,但这也没有改变。
谢谢。
- 编辑 -
请务必注意,我将 C# 与 Xamarin 一起使用。不是Java。这是我的按钮单击方法。这是 TextView 更改发生的地方。
btnOk.Click += delegate(object sender, EventArgs e)
{
if (answerBox.Text.ToLower() == currentSlogan.Company.ToLower())
{
// correct answer
currentUserScore += currentSlogan.Points;
currentSlogan.Answered = true;
DatabaseBuffer.MarkSloganAnsweredAndUpdateScore(currentSlogan, currentUserScore);
currentSlogan = DatabaseBuffer.GetNextUnansweredSlogan(currentSlogan.ID);
}
if (currentUserScore >= pointsToPass)
{
// user has beaten level
}
else
{
lblSlogan.SetText(currentSlogan.Slogan, TextView.BufferType.Normal);
answerBox.Text = "";
}
};