gpt4 book ai didi

c# - 动态更改 TextView 的文本

转载 作者:搜寻专家 更新时间:2023-11-01 08:02:29 25 4
gpt4 key购买 nike

我有一个以默认文本值开始的 TextView,然后根据用户的操作,当单击按钮时,TextView 的文本需要在代码中更改。看起来很简单,但我遇到了问题。

目前,发生的情况是当用户单击触发文本更改的提交按钮时,新文本只是添加到原始 TextView 下的屏幕,而不是简单地更改文本值。这几乎就像是在添加一个新的 TextView。

这是执行此操作的代码:

lblSlogan.Invalidate();
lblSlogan.SetText(currentSlogan.Slogan, TextView.BufferType.Normal);

我也这样试过,没有运气:

lblSlogan.Invalidate();
lblSlogan.Text = currentSlogan.Slogan;

lblSlogan 是一个 TextView。我错过了什么吗?我也在没有 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 = "";
}
};

最佳答案

我不明白你为什么要在你的 TextView 上调用方法 invalidate(),否则,像这样的简单代码应该可以工作(将此代码添加到 onCreate() 方法):

setContentView(R.layout.main);
TextView lblSlogan = (TextView) findViewById(R.id.lblSlogan);
Button btnChangeSlogan = (Button) findViewById(R.id.btnChangeSlogan);

btnChangeSlogan.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
lblSlogan.setText("Put your new text here");// cal setText() in the onclick method when ever you want to change the text
}
});

关于c# - 动态更改 TextView 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19080419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com