Tôi đang phát triển trên Droid Incredible (và đã thử nghiệm trên bộ mô phỏng 1.5 AVD) và một trong các tab trong tiện ích tab của tôi bao gồm một listview và một hàng với EditText và một Nút gửi (cho một tính năng trò chuyện). Tôi đang sử dụng sau đây để đóng bàn phím mềm khi tôi nhấp vào Gửi, nhưng nó không hoạt động. Điều này giống với mã tôi đã tìm thấy ở nơi khác mà mọi người đã upvoted là chính xác.Ẩn bàn phím mềm không hoạt động
Xem mọi thứ tôi bị thiếu?
// in Button's onClick():
EditText chatTextBox = (EditText) findViewById(R.id.chat_entry);
// Handle button click ...
chatTextBox.setText("");
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(chatTextBox.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
Tôi cũng đã thử thay đổi cờ thành 0. Không may mắn. Có ai biết chuyện gì không ??
**** CHỈNH SỬA **** Chỉ cần nhận ra tôi ban đầu đang sử dụng hideSoftInputFromInputMethod()
thay vì hideSoftInputFromWindow()
. Thay đổi nó đã không làm cho nó hoạt động mặc dù ...
Nếu bạn sẽ hiển thị bàn phím với cờ 'SHOW_FORCED'then nó chỉ ra rằng người dùng đã buộc các phương thức nhập liệu mở (chẳng hạn như bằng đơn cách nhấn lâu) vì vậy không nên bị đóng cửa cho đến khi họ một cách rõ ràng làm như vậy. [Xem tài liệu] (http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#SHOW_FORCED) –
Nếu bạn có ** Bắt buộc ** hiển thị bàn phím và muốn ẩn sau đó sử dụng mã sau đây 'InputMethodManager imm = (InputMethodManager) mContext.getSystemService (Context.INPUT_METHOD_SERVICE); \t \t imm.hideSoftInputFromWindow (mEditText.getWindowToken(), 0); ' –