Tôi có một EditText duy nhất trên bố cục của mình. Sau khi người dùng nhập một số văn bản và nhấn phím "đã hoàn thành", tôi muốn xóa con trỏ nhấp nháy khỏi nó. Tôi đã lùng sục StackOverflow và tìm thấy 3 câu trả lời không hiệu quả với tôi. Con trỏ nhấp nháy vẫn còn.Làm cách nào để xóa tiêu điểm khỏi EditText khi người dùng chỉnh sửa xong?
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;
}
}
}
Điều này đã sửa nó. Nó cũng làm điều đúng bằng cách tiết lộ con trỏ khi bàn phím đang mở. Nó chỉ ẩn con trỏ khi bạn không chỉnh sửa nó. – JoJo
WIsh Tôi có thể bỏ phiếu nhiều hơn khi tôi tìm thấy 10 câu trả lời phức tạp khác không hoạt động trước khi tìm thấy câu trả lời này. Cảm ơn. – Glenn
Tôi gặp sự cố này: http://stackoverflow.com/questions/23677895/saving-an-edittext-to-bitmap ----- Với giải pháp này, ghim cũng bị ẩn! Nhưng tôi chỉ muốn che đường thẳng đứng. –