6

Tôi có một SherlockFragmentActivity và một SherlockFragment nằm trong một TabManager. Trong đoạn này tôi có RadioButton, CheckBox, một Button và một EditText trong LinearLayout. Bàn phím đôi khi không phản hồi khi nhấn vào EditText.Làm thế nào để bàn phím mềm Android không phản hồi với EditText?

Trong 2.1 AVD bàn phím phản hồi không nhất quán, trong 4.0 AVD bàn phím không phản hồi chút nào và trên thiết bị bàn phím phản hồi không nhất quán. Đôi khi nhấn các đối tượng khác sau đó kích hoạt khả năng hiển thị bàn phím.

Đây là XML cho EditText:

<EditText  android:id="@+id/EditText1" 
        android:layout_width="100dp" 
        android:layout_height="wrap_content" 
        android:inputType="number" 
        android:text="20" > 

Tôi đang bối rối trong những hoạt động không phù hợp nhiều hơn so với thực tế là nó không hoạt động trên 4,0 AVD. Bất kỳ đề xuất nào về lý do tại sao điều này xảy ra hoặc cách hiển thị bàn phím sẽ rất tuyệt.

+1

Thông tin cần biết nó là một vấn đề đối với nhiều hơn chỉ là bản thân mình. Tôi nghĩ rằng chương trình của tôi là shitty. Chắc chắn rằng tôi có thể tìm thấy tài liệu tham khảo trong tài liệu hướng dẫn trực tiếp về những việc cần làm vì nó trở nên khó khăn để kiểm tra các phiên bản khác biết rằng có khả năng tìm lỗi chỉ trong trình mô phỏng. – JRomero

+0

Tôi đang gặp sự cố này ngay bây giờ! Tôi đã có báo cáo về ứng dụng sản xuất của mình rằng bàn phím mềm không mở. Tôi không thể sao chép nó vào bất kỳ điều gì tôi thử, nhưng tôi biết vấn đề tồn tại vì người dùng HIỂN THỊ tôi. – AutoM8R

Trả lời

5

Bạn có thể đăng ký một người biết lắng nghe tập trung cho EditText và mở bàn phím mềm khi nó được tập trung:

edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() { 
@Override 
public void onFocusChange(View v, boolean hasFocus) { 
    if(hasFocus){ 
     ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)) 
.showSoftInput(edit_Text, InputMethodManager.SHOW_FORCED); 
    }else 
     Toast.makeText(getApplicationContext(), "lost the focus", 2000).show(); 
} 
}); 

Edit:
Đối emulator, tôi nghĩ rằng nó không phải là guaranteed.Really tôi không bất kỳ thời điểm nào để xuất hiện bàn phím mềm lập trình. Đôi khi nó xuất hiện và một số lần không. Trong trình mô phỏng với android 4.0.3, bạn có thể thấy biểu tượng trên thanh thông báo thay vì xuất hiện bàn phím mềm:
enter image description here

Nhìn vào:
Event for Handling the Focus of the EditText
Forcing the Soft Keyboard open

+0

Cảm ơn rất nhiều. Nó hoạt động trên thiết bị của tôi một cách nhất quán ngay bây giờ. Mặc dù 4.0 AVD vẫn không khởi chạy bàn phím. Tôi sẽ thử nó trên một thiết bị với ICS và cho bạn biết nếu nó vẫn hoạt động đúng. – piz

+0

@piz Vui lòng xem các chỉnh sửa của tôi. – hasanghaforian

+0

hoạt động tốt trong 4.0.4 –

Các vấn đề liên quan