这是场景:
用户在字段中输入团队名称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);
}
}
});
}