gpt4 book ai didi

android - TextView 不在用户输入时显示 EditText 字符串

转载 作者:行者123 更新时间:2023-11-29 15:24:01 24 4
gpt4 key购买 nike

场景如下:

用户在 EditText 字段中输入团队名称,然后该文本就是 TextView 的新名称(使用 setText())。如果用户尚未在 EditText 字段中输入任何内容,则 setText() 将与 xml 文件中声明的文本属性相同(因此基本上是默认值) .

到目前为止,我有这段代码,但它无法正常工作。当我在 EditText 字段中键入任何内容并单击其他内容时,TextView 不会更改。

public void teamNameChange(View view)
{
TextView team1NameScore = (TextView) findViewById(R.id.team1NameScore);
EditText team1Name = (EditText) findViewById(R.id.team1Name);

if (team1Name.getText().toString().isEmpty())
{
team1NameScore.setText("Team 1 Score:");
} else {
team1NameScore.setText("" +team1Name);
}
}

知道为什么文本没有改变吗?

编辑 - 最终工作代码:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final TextView team1NameScore = (TextView) findViewById(R.id.team1NameScore);
final EditText team1Name = (EditText) findViewById(R.id.team1Name);

team1Name.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
String newString = team1Name.getText().toString();
if (!hasFocus) {
team1NameScore.setText("" + newString);
}
}
});

}

最佳答案

你可能应该做这样的事情

final EditText editText = (EditText) findViewById(R.id.editText1);
final TextView textView = (TextView) findViewById(R.id.textView1);

editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
textView.setText("changed");
}
}
});

当然知道 editText1 和 textView1 是可怕的变量名。

关于android - TextView 不在用户输入时显示 EditText 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821776/

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