기본 텍스트 값으로 시작하는 TextView가 있으며, 사용자가 수행 한 작업에 따라 버튼을 클릭하면 TextView의 텍스트가 코드에서 변경되어야합니다. 충분히 단순 해 보이지만 나는 문제가있다.TextView의 텍스트를 동적으로 변경합니다.
현재 사용자가 텍스트 변경을 트리거하는 제출 버튼을 클릭하면 텍스트 값을 변경하는 대신 원래 텍스트보기 아래에 새 텍스트가 추가됩니다. 거의 새로운 TextView를 추가하는 것과 같습니다. 여기
이 작업을 수행하는 코드입니다 :lblSlogan.Invalidate();
lblSlogan.SetText(currentSlogan.Slogan, TextView.BufferType.Normal);
나는 또한 행운과 함께,이 방법을 시도 :
lblSlogan.Invalidate();
lblSlogan.Text = currentSlogan.Slogan;
lblSlogan는 텍스트 뷰입니다. 내가 놓친 게 있니? 나는 invalidate()없이 시도했지만, 아무것도 변경되지 않았다.
감사합니다.
- 편집 -
그것은 내가 자 마린과 C#을 사용하고있어주의하는 것이 중요합니다. 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 = "";
}
};
무효화를 호출 할 필요가 없습니다. – hakanostrom