我有一个 EditText,右边有一个复合绘图。当我按下可绘制对象并清除文本时,我想隐藏软键盘。为此,我有以下代码:
filterText.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (filterText.getCompoundDrawables()[2] == null) {
// cross is not being shown so no need to handle
return false;
}
if (event.getAction() != MotionEvent.ACTION_DOWN) {
// only respond to the down type
return false;
}
if (event.getX() > filterText.getMeasuredWidth() -
filterText.getPaddingRight() - d.getIntrinsicWidth()) {
filterText.setText("");
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
return false;
}
else {
return true;
}
}
});
但它不起作用,因为 editText 似乎保持焦点。我试过 filterText.clearFocus 但没办法。
谢谢
最佳答案
只是一个建议:你不能在 Button
的右侧放置一个 EditText
吗?
关于Android 从复合可绘制对象中隐藏软键盘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3046615/