我如何知道我的编辑文本何时被编辑完毕?例如,当用户选择下一个框或按下软键盘上的完成按钮时。
我想知道这一点,这样我就可以钳制输入。看起来文本监视器的afterTextChanged是在输入每个字符之后发生的。我需要对输入进行一些计算,所以我希望避免在输入每个字符后进行计算。
谢谢
发布于 2011-02-24 11:19:19
通过使用像这样的东西
meditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
switch (actionId){
case EditorInfo.IME_ACTION_DONE:
case EditorInfo.IME_ACTION_NEXT:
case EditorInfo.IME_ACTION_PREVIOUS:
yourcalc();
return true;
}
return false;
}
});
发布于 2017-04-07 19:28:51
我做了一件简单的事情,当焦点从编辑文本转移到获取文本时。如果用户将焦点转移到选择其他视图,如按钮或其他EditText或任何视图,这将起作用。
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
EditText editText = (EditText) v;
String text = editText.getText().toString();
}
}
});
发布于 2012-09-10 17:27:26
为了更高层次,你可以使用TextWatcher's afterTextChanged()方法。
https://stackoverflow.com/questions/5099814
复制相似问题