2011-11-10 40 views
6

Tôi đang cố gắng tạo loại đầu vào cho trường sẽ chấp nhận số thẻ tín dụng.InputType thích hợp cho thẻ tín dụng

Tôi đã sử dụng inputType = "number" - nhưng điều đó sẽ không cho phép những người có bàn phím phần cứng nhấn vào thanh dấu cách .. khi họ thực hiện nó nhảy đến một trường khác trong hoạt động.

Tôi muốn cho phép người dùng sử dụng một không gian trong số của họ nếu họ muốn hoặc ít nhất, làm cho nó sao cho nếu người dùng có bàn phím phần cứng nhấn vào không gian khi tôi chỉ cho phép số đó thắng ' t để lại số thẻ tín dụng EditText.

Lý tưởng nhất là tôi có thể triển khai một số giao diện và có inputType tùy chỉnh của riêng mình, nhưng tôi không chắc chắn điều đó là có thể.

  • Có thể cho phép số và khoảng trắng trong khi hiển thị số bàn phím mềm không?
+0

tôi đã cố gắng rời khỏi nó "number" và thêm android: imeOptions = "flagNoEnterAction" vào EditText, nhưng vẫn còn - khi thanh phần cứng không gian bàn phím được nhấn, nó nhảy vào một dường như ngẫu nhiên EditText tiếp tục bố trí hoạt động. –

+0

["Để chặn các khóa cứng, ghi đè InputMethodService.onKeyDown()"] (http://developer.android.com/resources/articles/creating-input-method.html). Đọc từ tiêu đề dưới cùng "Chặn các sự kiện quan trọng". Có thể giúp? – Graeme

+0

Nếu bạn không thể tìm cách đánh chặn thử sử dụng TextView bình thường và mở bàn phím số theo cách thủ công. [Những tài nguyên này] (http://developer.android.com/resources/browser.html?tag=input) thực sự hữu ích cho tôi khi tôi đang làm việc trên InputMethods. – Graeme

Trả lời

1

Tôi không có một câu trả lời dứt khoát cho bạn, nhưng đây là một số nguồn tài nguyên Tôi nhặt:

tôi tìm thấy manh mối này để "bắt" ép chính khó khăn: "To intercept hard keys, override InputMethodService.onKeyDown()". Đọc từ tiêu đề dưới cùng "Chặn các sự kiện quan trọng".

Nếu bạn không thể tìm cách chặn và xử lý khóa "không gian", tôi khuyên bạn nên sử dụng TextView bình thường và mở bàn phím số theo cách thủ công thay vì bàn phím qwerty (Xem tại đây để biết thêm thông tin về chung Input Reference). Sau đó, bạn có thể xác thực khóa được nhấn từ bàn phím cứng.

Rất tiếc, tôi không thể cung cấp cho bạn câu trả lời chắc chắn hơn!

+0

Tôi nghĩ rằng đây là những gì tôi sẽ phải làm trong trường hợp này .. nhưng nó lạ vì chỉ có phím cách sẽ nhảy con trỏ đến một trường khác - bất kỳ ký tự không được phép nào khác không làm gì cả và bỏ chọn trường "số". –

2

Làm thế nào về android:inputType="phone" trong tệp xml bố cục của bạn?

+0

Tôi cũng quan tâm đến những hiểu biết liên quan đến điều này, điều này có vẻ tốt hơn hiển thị bàn phím với số lượng lớn hơn –

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