উত্তর:
আমি android:inputType="number"
এক্সএমএল বৈশিষ্ট্যগুলি অনুমান করি ।
android:inputType="phone"
যে জায়গায় ব্যবহার করতে পারেন । তবে মনে হয় এটি আরও কিছুটা "ব্যস্ত"।
উদাহরণ স্বরূপ:
<EditText
android:id="@+id/myNumber"
android:digits="0123456789."
android:inputType="numberDecimal"
/>
0123456789.
এবং না0123456780.
কেবলমাত্র অঙ্কের ইনপুটটির android:inputType="numberPassword"
সাথে editText.setTransformationMethod(null);
নম্বরটির স্বতঃ-লুকানো অপসারণ ব্যবহার করুন ।
অথবা
android:inputType="phone"
কেবল ডিজিটের ইনপুটের জন্য, আমি মনে করি এই দুটি উপায়ের চেয়ে ভাল android:inputType="number"
। ইনপুট টাইপ হিসাবে "সংখ্যা" উল্লেখ করার সীমাবদ্ধতা হ'ল কীবোর্ডটি অক্ষরগুলিতে স্যুইচ করতে দেয় এবং অন্যান্য বিশেষ অক্ষরকে প্রবেশ করতে দেয়। "সংখ্যাপাসওয়ার্ড" ইনপুট টাইপটিতে এই সমস্যাগুলি নেই কারণ কেবল কীবোর্ড কেবল অঙ্কগুলি দেখায়। এমনকি "ফোন" ইনপুট টাইপ কীবোর্ড আপনাকে অক্ষরে স্যুইচ করার অনুমতি দেয় না হিসাবে কাজ করে। তবে আপনি এখনও +, /, এন ইত্যাদির মতো কয়েকটি বিশেষ অক্ষর লিখতে পারেন
অ্যান্ড্রয়েড: editText.setTransformationMethod (নাল) সহ ইনপুটটাইপ = "সংখ্যাপ্যাসওয়ার্ড" ;
ইনপুট = "ফোন"
ইনপুট = "সংখ্যা"
android:inputType="numberPassword"
বরাবরeditText.setTransformationMethod(null);
android:inputType="numberDecimal"
<EditText
android:id="@+id/age"
android:numeric="integer"
/>
নীচে ব্যবহার আপনার সমস্যার সমাধান করতে পারে;
এক্সএমএলে:
<EditText
android:id="@+id/age"
android:inputType="numberDecimal|numberSigned" />
অথবা // কার্যকলাপের মধ্যে etfield.addtextchangelistener
private String blockCharacterSet="+(/)N,*;#";//declare globally
try {
for (int i = 0; i < s.length(); i++) {
if (blockCharacterSet.contains(s.charAt(i) + "")) {
String corrected_settempvalue = arrivalsettemp.substring(0, arrivalsettemp.length() - 1);
et_ArrivalSetTemp.setText(corrected_settempvalue);
if (corrected_settempvalue.length() != 0)
et_ArrivalSetTemp.setSelection(corrected_settempvalue.length());
}
}
} catch (Exception d) {
d.printStackTrace();
}
যদি কেউ imeOptions
সক্ষম হয়ে কেবল 0 থেকে 9 নম্বর পর্যন্ত ব্যবহার করতে চান তবে আপনার নীচের লাইনটি ব্যবহার করুনEditText
অ্যান্ড্রয়েড ইনপুট = "সংখ্যা | কোনোটিই নয়"
এটি কেবলমাত্র সংখ্যাকে অনুমতি দেবে এবং আপনি কিবোর্ডের সম্পন্ন / পরবর্তী বাটনে ক্লিক করলে আপনার ফোকাসটি পরবর্তী ক্ষেত্রে চলে যাবে।
আপনি এটি এক্সএমএলে ব্যবহার করতে পারেন
<EditText
android:id="@+id/myNumber"
android:digits="123"
android:inputType="number"
/>
বা,
android:inputType="numberPassword" along with editText.setTransformationMethod(null); to remove auto-hiding of the number.
বা,
android:inputType="phone"
প্রোগ্রামিয়ালি আপনি
editText.setInputType (InputType.TYPE_CLASS_NUMBER) ব্যবহার করতে পারেন ;
আমাকে টেক্সটওয়াচারের সাহায্যে একটি কীবোর্ডে এন্টার টিপতে হবে । তবে আমি জানতে পেরেছি যে সমস্ত সংখ্যার কীবোর্ড অ্যান্ড্রয়েড: ইনপুট টাইপ = "সংখ্যা" বা "নাম্বার ডেসিমাল" বা "সংখ্যাপাসওয়ার্ড" ইত্যাদি যখন ব্যবহারকারী চাপায় তখন আমাকে এন্টার ধরতে দেয় না।
আমি চেষ্টা করেছি android:digits="0123456789\n"
এবং সমস্ত সংখ্যক কীবোর্ডগুলি এন্টার এবং টেক্সট ওয়াচারের সাহায্যে কাজ শুরু করে।
সুতরাং আমার উপায়:
android:digits="0123456789\n"
android:inputType="numberPassword"
যোগ editText.setTransformationMethod(null)
বার্মেলি এবং অভিয়ানকে ধন্যবাদ
'13 এ সঠিক উত্তরটি কী ছিল তা আমি জানি না, তবে আজ এটি রয়েছে:
myEditText.setKeyListener(DigitsKeyListener.getInstance(null, false, true)); // positive decimal numbers
অনস্ক্রিন কীবোর্ড সহ আপনি সবকিছু পান একটি সংখ্যার কীপ্যাড।
প্রায় সব. এসপ্রেসো, তার অসীম প্রজ্ঞায়, অবিচ্ছিন্নভাবে typeText("...")
ফিল্টারটিকে বাইপাস করতে এবং আবর্জনায় প্রবেশ করতে দেয় ...
আমার জন্য সবচেয়ে সহজ
android:numeric="integer"
যদিও এটি আরও কাস্টমাইজ করুন
android:digits="0123456789"