ذكري المظهر:بحاجة إلى التحقق من صحة نص التحرير للإدخال غير الفارغ
-
01-10-2019 - |
سؤال
إذا كنت أرغب في فرض الحد الأقصى لطول الإدخال في حقل EditText، فيمكنني استخدام سمة maxLength.ولكن إذا كنت أرغب في فرض حد أدنى للطول (في حالتي، ببساطة غير فارغ)، فلن أجد سمة minLength مقابلة.
لقد ألقيت نظرة أيضًا على سمات "inputType" المتنوعة (الهاتف وكلمة المرور وما إلى ذلك) ولكني لا أرى أي شيء مثل "مطلوب" أو "غير فارغ".
لا أستطيع أن أصدق أن هذا يتطلب مرشح إدخال مخصص؛من المرجح أن تكون الإجابة واضحة جدًا لدرجة أنه لا يتم تدوينها بالشكل الذي أطرح فيه السؤال.
المحلول
يمكنك ببساطة التحقق من أن yourfield.text () لا يعادل فارغًا أو "" عند نقطة التقديم. إذا كان الأمر كذلك ، فطلب من المستخدم إدخال شيء ما.
نصائح أخرى
حذرا مع شيء بالرغم من ذلك.إذا كان لديك زر إرسال، على سبيل المثال، وقام المستخدم بالضغط على إرسال دون تغيير التركيز في TextEdit، فلن يتم استدعاء طريقتك.
قم بنشاط باستخدام نصين تحريريين وزر واحد باسم "انتقال":
1) يكتب المستخدم شيئًا ما في EditText1
2) ينقر المستخدم على EditText2
3) بدلاً من كتابة شيء ما، ما عليك سوى النقر فوق الزر "انتقال".
لن يتم استدعاء أسلوب onFocusChanged() الخاص بك لأن التركيز ليس "مفقودًا".
إذا كان لديك التحقق من الصحة في طريقة Go Button_click الخاصة بك، فسيتم تشغيله بالطبع، لكنك لن تحقق هدفك "كنت أبحث/أتمنى أن تكون طريقة لتقديم تعليقات فورية"
يمكنك تجربة استخدام TextWatcher.