我的布局上有一个 EditText。在用户输入一些文本并点击“完成”键后,我想从中删除闪烁的光标。我搜索了 StackOverflow 并找到了 3 个对我不起作用的答案。闪烁的光标仍然存在。
private class MyOnKeyListener implements OnKeyListener {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& keyCode == KeyEvent.KEYCODE_ENTER) {
// FAIL 0
MyActivity.this.findViewById(R.id.someOtherView).requestFocus();
// FAIL 1
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE
);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
// FAIL 2
MyActivity.this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);
return true;
} else {
return false;
}
}
}
最佳答案
你可以使用 xml 属性,
android:cursorVisible
或者您可以使用此方法在代码中执行此操作。
setCursorVisible(boolean).
关于android - 用户完成编辑后如何从 EditText 中移除焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766781/