我有一个EditText与一些虚拟文本在其中。当用户点击它时,我希望它被选中,以便当用户开始输入虚拟文本被删除。
我怎样才能做到这一点呢?
我有一个EditText与一些虚拟文本在其中。当用户点击它时,我希望它被选中,以便当用户开始输入虚拟文本被删除。
我怎样才能做到这一点呢?
当前回答
只需将其添加到.xml文件中的editText中
android:selectAllOnFocus=“true”
其他回答
您可以在main.xml文件中尝试:
android:selectAllOnFocus="true"
或者,在Java中,使用
editText.setSelectAllOnFocus(true);
你为什么不试试android:hint="hint"来给用户提供提示!!
当用户单击编辑文本框时,“提示”将自动消失。 这是最好的解决办法。
EditText dummy = ...
// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus) && (isDummyText())
((EditText)v).selectAll();
}
});
我知道你已经找到了一个解决方案,但真正正确的方法来做你所要求的只是使用android:提示属性在你的EditText。该文本在框为空且未聚焦时显示,但在选择EditText框时消失。
这对我来说很有用:
myEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(myEditText.isFocused()){
myEditText.requestFocus();
myEditText.clearFocus();
myEditText.setSelection(myEditText.getText().length(), 0);
}else{
myEditText.requestFocus();
myEditText.clearFocus();
}
}
});