অ্যান্ড্রয়েড এডিটেক্সট এর জন্য শুধুমাত্র সংখ্যাসূচক মান কীভাবে সেট করবেন?


209

আমার একটি edittextরয়েছে যাতে আমি কেবল পূর্ণসংখ্যার মান সন্নিবেশ করতে চাই। কেউ আমাকে বলতে পারে যে আমার কোন সম্পত্তি ব্যবহার করতে হবে?

উত্তর:


403

আমি android:inputType="number"এক্সএমএল বৈশিষ্ট্যগুলি অনুমান করি ।


11
ম্যান, আমি অ্যান্ড্রয়েড দেবকে পছন্দ করি ... ওয়েব পৃষ্ঠাগুলিতে এই বিকল্পটি পেতে এই জাতীয় গোলমাল!
অ্যালেক্স

14
হাই, অ্যান্ড্রয়েড ২.৩.৩ এ এটি "নাম্বার সাইনড"। স্রেফ এটি এখানে লিখেছিলেন, যদি কেউ এটির জন্য সন্ধান করে থাকে :)
লেবু রস

যদি আমার এডিটেক্সটটি ডায়ালগটিতে উপস্থিত হয় এবং এইভাবে, আমি কেবল এটি জাভা কোডে ঘোষণা করি? অর্থাত ডায়ালগ এডিট টেক্সট এক্সএমএল ফাইলে উপস্থিত হয় না। আমি কীভাবে এখনও এটি অর্জন করতে পারি?
সিবিস জুয়াং

1
উপরন্তু, আপনি android:inputType="phone"যে জায়গায় ব্যবহার করতে পারেন । তবে মনে হয় এটি আরও কিছুটা "ব্যস্ত"।
চাদ বিংহাম

126

উদাহরণ স্বরূপ:

<EditText
android:id="@+id/myNumber"
android:digits="0123456789."
android:inputType="numberDecimal"
/>

3
এটিই সেরা সমাধান!
আরআরটিডব্লিউ

2
আমি ধরে নিচ্ছি যে স্ট্রিংটি পড়া উচিত 0123456789.এবং না0123456780.
অডিফ্যান্যাটিক

এটি অ্যান্ড্রয়েডের সাথেও কাজ করে: ইনপুটটাইপ = "সংখ্যা" পাশাপাশি! ব্যবহারকারীদের সংখ্যা প্যাডে অপারেটর, প্রথম বন্ধনী ইত্যাদি টাইপ করা থেকে বিরত রাখতে আমার এটির প্রয়োজন ছিল। কী জীবন রক্ষাকারী মানুষ! কস্টকোতে স্বাগতম; আমি তোমায় ভালোবাসি!
গঞ্জোব্রেনগুলি

2
: (1.1.1 ..... প্রাক্তন) এই আপনি ঋণাত্মক সংখ্যার আগে লাগাতে এবং একই সময়ে এটা সদৃশ দশমিক অনুমতি দেবে অনুমতি দেবে না।
Rushi Ayyappa

অসাধারণ, অ্যান্ড্রয়েড যুক্ত: অঙ্কগুলিও অনুলিপি করে অনুলিপি করে copy
স্টোনলাম

107

কোড ইন, আপনি করতে পারে

ed_ins.setInputType(InputType.TYPE_CLASS_NUMBER);

এটা editText নাম @MohamedKhamis
KERiii

1
সৌরভ "শুধুমাত্র পূর্ণসংখ্যার মান সন্নিবেশ করানোর জন্য" বলেছিলেন। এটি আরও অনেক কিছু ইনপুট করতে দেয়।
জোন

30

কেবলমাত্র অঙ্কের ইনপুটটির android:inputType="numberPassword"সাথে editText.setTransformationMethod(null);নম্বরটির স্বতঃ-লুকানো অপসারণ ব্যবহার করুন ।

অথবা

android:inputType="phone"

কেবল ডিজিটের ইনপুটের জন্য, আমি মনে করি এই দুটি উপায়ের চেয়ে ভাল android:inputType="number"। ইনপুট টাইপ হিসাবে "সংখ্যা" উল্লেখ করার সীমাবদ্ধতা হ'ল কীবোর্ডটি অক্ষরগুলিতে স্যুইচ করতে দেয় এবং অন্যান্য বিশেষ অক্ষরকে প্রবেশ করতে দেয়। "সংখ্যাপাসওয়ার্ড" ইনপুট টাইপটিতে এই সমস্যাগুলি নেই কারণ কেবল কীবোর্ড কেবল অঙ্কগুলি দেখায়। এমনকি "ফোন" ইনপুট টাইপ কীবোর্ড আপনাকে অক্ষরে স্যুইচ করার অনুমতি দেয় না হিসাবে কাজ করে। তবে আপনি এখনও +, /, এন ইত্যাদির মতো কয়েকটি বিশেষ অক্ষর লিখতে পারেন

অ্যান্ড্রয়েড: editText.setTransformationMethod (নাল) সহ ইনপুটটাইপ = "সংখ্যাপ্যাসওয়ার্ড" ;

ইনপুট = "numberPassword"

ইনপুট = "ফোন"

ইনপুট = "ফোন"

ইনপুট = "সংখ্যা"

ইনপুট = "সংখ্যা"


1
এটি পারফেক্ট! android:inputType="numberPassword"বরাবরeditText.setTransformationMethod(null);
কোডারপিসি

এই টিপটি আমার অ্যাপ্লিকেশনটিকে নিখুঁত করে তোলে।
কার্নেলজারো

6
android:inputType="numberDecimal"

5
এটি দুর্দান্ত, তবে পূর্ণসংখ্যার সংখ্যা সিস্টেমে কোনও দশমিক সংখ্যা অন্তর্ভুক্ত নেই।
রিলে ই

@ রাইলে আপনি এর অর্থ কী? আমরা কেবল আমাদের সমস্ত সংখ্যার ইনপুটগুলির জন্য এটি ব্যবহার শুরু করেছি এবং আমি নিশ্চিত করতে চাই যে আমরা কিছু মিস করছি না। ধন্যবাদ!
জোশুয়া পিন্টার


2

নীচে ব্যবহার আপনার সমস্যার সমাধান করতে পারে;

এক্সএমএলে:

<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();
            }

2

যদি কেউ imeOptionsসক্ষম হয়ে কেবল 0 থেকে 9 নম্বর পর্যন্ত ব্যবহার করতে চান তবে আপনার নীচের লাইনটি ব্যবহার করুনEditText

অ্যান্ড্রয়েড ইনপুট = "সংখ্যা | কোনোটিই নয়"

এটি কেবলমাত্র সংখ্যাকে অনুমতি দেবে এবং আপনি কিবোর্ডের সম্পন্ন / পরবর্তী বাটনে ক্লিক করলে আপনার ফোকাসটি পরবর্তী ক্ষেত্রে চলে যাবে।


0

আপনি এটি এক্সএমএলে ব্যবহার করতে পারেন

<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) ব্যবহার করতে পারেন ;


0

আমাকে টেক্সটওয়াচারের সাহায্যে একটি কীবোর্ডে এন্টার টিপতে হবে । তবে আমি জানতে পেরেছি যে সমস্ত সংখ্যার কীবোর্ড অ্যান্ড্রয়েড: ইনপুট টাইপ = "সংখ্যা" বা "নাম্বার ডেসিমাল" বা "সংখ্যাপাসওয়ার্ড" ইত্যাদি যখন ব্যবহারকারী চাপায় তখন আমাকে এন্টার ধরতে দেয় না।

আমি চেষ্টা করেছি android:digits="0123456789\n"এবং সমস্ত সংখ্যক কীবোর্ডগুলি এন্টার এবং টেক্সট ওয়াচারের সাহায্যে কাজ শুরু করে।

সুতরাং আমার উপায়:

android:digits="0123456789\n"
android:inputType="numberPassword"

যোগ editText.setTransformationMethod(null)

বার্মেলি এবং অভিয়ানকে ধন্যবাদ


0

'13 এ সঠিক উত্তরটি কী ছিল তা আমি জানি না, তবে আজ এটি রয়েছে:

myEditText.setKeyListener(DigitsKeyListener.getInstance(null, false, true)); // positive decimal numbers

অনস্ক্রিন কীবোর্ড সহ আপনি সবকিছু পান একটি সংখ্যার কীপ্যাড।

প্রায় সব. এসপ্রেসো, তার অসীম প্রজ্ঞায়, অবিচ্ছিন্নভাবে typeText("...")ফিল্টারটিকে বাইপাস করতে এবং আবর্জনায় প্রবেশ করতে দেয় ...


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.