ฉันแค่ต้องการเปลี่ยนเป็นโหมดแป้นตัวเลขในไม่ช้า EditText บางตัวมีโฟกัส
ฉันแค่ต้องการเปลี่ยนเป็นโหมดแป้นตัวเลขในไม่ช้า EditText บางตัวมีโฟกัส
คำตอบ:
วิธีทำในไฟล์ Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
ฉันพบว่าการใช้งานนี้มีประโยชน์แสดงแป้นพิมพ์ที่ดีขึ้นและ จำกัด การป้อนข้อมูล
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
นอกจากนี้คุณสามารถใช้android:maxLength
เพื่อ จำกัด จำนวนสูงสุด
เมื่อต้องการทำสิ่งนี้โดยทางโปรแกรม:
editText.setInputType(InputType.TYPE_CLASS_PHONE);
KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:inputType="number|phone"/>
จะแสดงแป้นตัวเลขขนาดใหญ่เป็นเครื่องมือหมุนหมายเลข
คุณสามารถทำได้ 2 วิธี
ชุดรันไทม์
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
ใช้ XML
<EditText
...
android:inputType="number" />
หากคุณต้องการเลขเศษส่วนนี่คือคำตอบสำหรับคุณ:
android:inputType="numberDecimal"
หากคุณใช้ EditText ของคุณในกล่องโต้ตอบหรือสร้างแบบไดนามิกและคุณไม่สามารถตั้งค่าได้จาก xml ตัวอย่างนี้จะช่วยคุณในการตั้งค่าประเภทของบอร์ดคีย์ในขณะที่คุณใช้แก้ไขข้อความแบบไดนามิก ฯลฯ
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
โดยที่ myEditTxt เป็นวัตถุ EDIT TEXT แบบไดนามิก (ชื่อ)
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
ประเภทอินพุตและรายละเอียดเพิ่มเติมพบได้ที่นี่ในเว็บไซต์ google
รหัสด้านล่างจะอนุญาตให้ใช้หมายเลข "0123456789" เท่านั้นแม้ว่าคุณจะพิมพ์โดยไม่ได้ตั้งใจมากกว่า "0123456789" การแก้ไขข้อความจะไม่ยอมรับ
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
ใช้รหัสด้านล่างในไฟล์ java
editText.setRawInputType (Configuration.KEYBOARD_QWERTY);
กำหนดสิ่งนี้ในรหัส xml ของคุณ
android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);