final EditText et1 = (EditText)findViewById(R.id.et1);
et1.setOnFocusChangeListener(new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
if ( hasFocus )
{
et1.setTextColor(0xFF000000);
if ( et1.getText().equals("Email") ) { et1.setText(""); }
}
else
{
et1.setTextColor(0xFF7F7F7F);
if ( et1.getText().equals("") ) { et1.setText("Email"); }
}
}
});
et1默认包含“Email”。当用户点击它时,我希望它清除。
OnFocusChangeListener
在颜色变化时工作正常,但文本不会改变,即
if ( et1.getText().equals("Email") )
不开火。在我清除et之后equals("")
也没有。
我做错了什么?
答案 0 :(得分:9)
请尝试比较et1.getText().toString().equals("Email")
。
答案 1 :(得分:1)
打印出et1.getText()以查看它包含的内容。它可能不是你的想法。
答案 2 :(得分:1)
android:hint
能为你效力吗?它基本上正在完成你想要做的事情,但它是内置的。