2012-05-07 80 views
10

Tôi có EditText cần xử lý số đầu vào dạng số và/hoặc chữ cái tùy thuộc vào trạng thái. Người dùng có thể nhập một trong hai loại đầu vào trong một số trường hợp. Tôi chỉ có thể bật lên bàn phím "Điện thoại" bằng cách sử dụng setInputType (InputType.TYPE_CLASS_NUMBER); hoạt động nhưng không cho phép người dùng quay lại bàn phím QWERTY. Vì hầu hết các đầu vào thực sự là số, tôi muốn trình bày người dùng bằng bàn phím? 123 phần lớn thời gian. Họ chỉ cần quay lại bàn phím QWERTY vài lần.Cách bật lên bàn phím Android "? 123"

Làm cách nào để bật bàn phím QWERTY trên màn hình để nhập theo thứ tự chữ cái, sau đó bật bàn phím "? 123" nếu nó là số? Tôi chỉ muốn lưu một bước cho người dùng để họ không phải nhấn nút? 123 trên bàn phím QWERTY mỗi lần.

Cập nhật: Đây là bàn phím tôi muốn hiển thị. Lý do là tôi muốn người dùng dễ dàng chuyển đổi giữa đầu vào chữ cái và đầu vào số. Không có cách nào để chuyển sang bàn phím QWERTY từ "phím số". Trong ứng dụng của tôi, đầu vào số được yêu cầu cho 90% đầu vào vì vậy tôi muốn bật nó lên như một sự tiện lợi. Nói cách khác, thay vì phải chuyển sang bàn phím số 90% thời gian, họ chỉ cần chuyển sang QWERTY 10% thời gian enter image description here

Cuộc gọi đến input.setRawInputType(Configuration.KEYBOARD_QWERTY); hoạt động khác trên Honeycomb và các phiên bản mới hơn của Gingerbread (đưa lên bảng số). Trên Gingerbread 2.2.3 nó hoạt động theo cách tôi muốn. Honeycomb và 2.3.7 screengrabs bàn phím là dưới đây để tham khảo. Tôi không biết tại sao họ lại quá khác biệt.

Honeycomb 3.2 keyboard for Configuration.KEYBOARD_QWERTY Gingerbread 2.3.7 keyboard for Configuration.KEYBOARD_QWERTY

+0

thể trùng lặp của [? Làm thế nào để mặc định bàn phím số trên EditText mà không buộc nhập số] (http://stackoverflow.com/questions/6153796/ làm thế nào-do-i-mặc định-to-số-bàn phím-on-edittext-mà không cần-cưỡng-số-đầu vào) –

+0

Cảm ơn, nhưng bài viết đó dường như để đối phó với các phím số. Có một câu trả lời rất được đánh giá cao nói rằng ".. cũng cho phép bạn nhập văn bản miễn phí". nhưng tôi không thấy nơi bạn làm điều đó. Không có nút trên bàn phím để làm như vậy. Vui lòng xem cập nhật về câu hỏi của tôi. Hy vọng làm rõ. – wufoo

+0

Lưu ý rằng nhiều điện thoại sẽ có một bàn phím khác. Ví dụ, điện thoại Samsung có Swype theo mặc định hoặc bạn có thể tải xuống bàn phím từ thị trường. – Jonas

Trả lời

0

Tôi tin post này trả lời câu hỏi của bạn.

Trong add ngắn này để mã của bạn:

editText.setRawInputType(Configuration.KEYBOARD_QWERTY); 
+2

Cảm ơn tôi đã thử điều đó. Nó chỉ có vẻ như làm những gì tôi muốn trên 2.2.3. Ngày 3.2 và 2.3.7 nó sẽ trả về "số pad" và không phải là "? 123" bàn phím. Hmm .. – wufoo

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