我有一个EditText与一些虚拟文本在其中。当用户点击它时,我希望它被选中,以便当用户开始输入虚拟文本被删除。
我怎样才能做到这一点呢?
我有一个EditText与一些虚拟文本在其中。当用户点击它时,我希望它被选中,以便当用户开始输入虚拟文本被删除。
我怎样才能做到这一点呢?
当前回答
通过调用程序上的焦点和选择来管理它
{
editabletext.requestFocus();
editabletext.selectAll();
}
其他回答
EditText dummy = ...
// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus) && (isDummyText())
((EditText)v).selectAll();
}
});
editText.setSelectAllOnFocus(true);
如果您想以编程的方式进行,这是可行的。
SelectAllOnFocus在EditText第一次获得焦点时起作用,但如果您希望在用户每次单击文本时都选择文本,则需要在两次之间调用EditText . clearfocus()。
例如,如果您的应用程序有一个EditText和一个按钮,在更改EditText后单击按钮将焦点留在EditText中。然后,用户必须使用光标句柄和退格键删除EditText中的内容,然后才能输入新值。因此在按钮的onClick方法中调用editText.clearFocus()。
只需将其添加到.xml文件中的editText中
android:selectAllOnFocus=“true”
您可以在main.xml文件中尝试:
android:selectAllOnFocus="true"
或者,在Java中,使用
editText.setSelectAllOnFocus(true);