我有一个 EditText 字段,假设用户已经在其中输入了文本。然后用户想再次编辑文本:我想要这个 EditText 字段的功能是,如果你在它已经有文本之后选择它,它会在你输入新内容之前为你清除文本。
我尝试使用 EditText 字段的 OnClick 方法,但这要求我选择 EditText 字段,然后再次单击它,这对除我之外的任何人都不明显。用户选择后,如何从 EditText 字段中清除文本?
我有一个 EditText 字段,假设用户已经在其中输入了文本。然后用户想再次编辑文本:我想要这个 EditText 字段的功能是,如果你在它已经有文本之后选择它,它会在你输入新内容之前为你清除文本。
我尝试使用 EditText 字段的 OnClick 方法,但这要求我选择 EditText 字段,然后再次单击它,这对除我之外的任何人都不明显。用户选择后,如何从 EditText 字段中清除文本?
您可以通过组合和清除文本字段来实现您想要做的事情onFocus
,类似于您帖子下的两个评论者已经建议的内容。解决方案如下所示:
EditText myEditText = (EditText) findViewById(R.id.myEditText);
myEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
// Always use a TextKeyListener when clearing a TextView to prevent android
// warnings in the log
TextKeyListener.clear((myEditText).getText());
}
}
});
请始终使用 TextKeyListener 来“清理”EditText,这样可以避免日志中出现很多 android 警告。
我宁愿建议您在 xml 中简单地设置以下内容:
<EditText android:selectAllOnFocus="true"/>
就像这里描述的一样。通过这种方式,您的用户对它有更好的 UI 感觉,他或她可以自己决定如何处理文本,并且不会因为每次都清除而烦恼!