Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में EditText चेंज्ड लिसनर में कैरेक्टर्स काउंट कैसे करें?

Android में TextWatcher का उपयोग करके EditText कैरेक्टर काउंट और लिमिट

कुछ स्थितियों में, हमें कुछ कैरेक्टर्स के लिए एडिट टेक्स्ट को प्रतिबंधित करना होता है। इस स्थिति को हल करने के लिए, यह उदाहरण दर्शाता है कि EditText चेंज्ड लिसनर में कैरेक्टर्स कैसे काउंट करें।

चरण 1 - नया प्रोजेक्ट बनाएं

Android Studio में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - activity_main.xml लेआउट

res/layout/activity_main.xml में निम्न कोड जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/parent"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:gravity="center"
    android:background="#33FFFF00"
    android:orientation="vertical">
    <EditText
        android:id="@+id/text"
        android:textSize="18sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

उपरोक्त कोड में, हमने एक एडिट टेक्स्ट लिया है। यह दर्ज किए गए कैरेक्टर्स की लंबाई की जांच करेगा, यदि यह 5 से अधिक हो जाता है तो यह एक त्रुटि संदेश दिखाता है।

चरण 3 - MainActivity.java

src/MainActivity.java में निम्न कोड जोड़ें:

package com.example.andy.myapplication;

import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.support.annotation.RequiresApi;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    int view = R.layout.activity_main;
    EditText text;

    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(view);
        text = findViewById(R.id.text);
        text.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) { }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) { }

            @Override
            public void afterTextChanged(Editable s) {
                if (s.toString().length() > 5) {
                    text.setError("यह केवल 5 कैरेक्टर की अनुमति देता है");
                } else {
                    text.setError(null);
                }
            }
        });
    }
}

उपरोक्त कोड में, हमने टेक्स्ट चेंज्ड लिसनर का उपयोग किया है, टेक्स्ट बदलने के बाद हम टेक्स्ट को वैलिडेट कर रहे हैं:

text.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) { }
    @Override
    public void afterTextChanged(Editable s) {
        if (s.toString().length() > 5) {
            text.setError("यह केवल 5 कैरेक्टर की अनुमति देता है");
        } else {
            text.setError(null);
        }
    }
});

आइए अपने एप्लिकेशन को चलाने का प्रयास करें। मान लें कि आपने अपने वास्तविक Android मोबाइल डिवाइस को कंप्यूटर से जोड़ा है। Android Studio से ऐप चलाने के लिए, अपनी प्रोजेक्ट की एक्टिविटी फ़ाइलों में से एक खोलें और टूलबार से Run आइकन पर क्लिक करें। विकल्प के रूप में अपना मोबाइल डिवाइस चुनें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।

Android में EditText चेंज्ड लिसनर में कैरेक्टर्स काउंट कैसे करें?

जब आप 5 कैरेक्टर दर्ज करते हैं, तो यह कोई त्रुटि नहीं दिखाता। यदि आप 5 से अधिक कैरेक्टर दर्ज करते हैं। तो यह नीचे दिखाए अनुसार त्रुटि दिखाएगा:

Android में EditText चेंज्ड लिसनर में कैरेक्टर्स काउंट कैसे करें?

  1. एंड्रॉइड में डेट और टाइम चेंज लिसनर कैसे लिखें? एंड्रॉइड में डेट और टाइम चेंज लिसनर कैसे लिखें?

    एंड्रॉइड में DatePicker और TimePicker चेंज लिसनर यह गाइड DatePicker और TimePicker विजेट्स के लिए चेंज लिसनर लागू करने का तरीका दिखाता है, दोनों इंलाइन विजेट्स और डायलॉग्स के लिए। लेआउट (activity_main.xml) <LinearLayout xmlns:android=https://schemas.android.com/apk/res/android android:layout_

  1. एंड्रॉइड में EditText खाली है या नहीं कैसे जांचें? एंड्रॉइड में EditText खाली है या नहीं कैसे जांचें?

    एंड्रॉइड में EditText खाली/वैलिड है या नहीं जांचना — बेस्ट प्रैक्टिसेज यूज़र इनपुट वैलिडेट करना हर ऐप की बुनियादी जरूरत है। TextUtils.isEmpty() सबसे सरल तरीका है, लेकिन **सिर्फ खाली स्ट्रिंग ही नहीं, व्हाइटस्पेस-ओनली स्ट्रिंग भी अमान्य माननी चाहिए**। यह ट्यूटोरियल सभी सामान्य पैटर्न कवर करता है। चर

  1. एंड्रॉइड में लाइन कैसे ड्रा करें? (Canvas/Paint) एंड्रॉइड में लाइन कैसे ड्रा करें? (Canvas/Paint)

    एंड्रॉइड में Canvas और Paint से लाइन (और शेप्स) ड्रा करना एंड्रॉइड में कस्टम ड्राइंग के लिए Canvas (ड्राइंग सतह) और Paint (स्टाइल: रंग, चौड़ाई, स्ट्रोक/फिल) उपयोग करते हैं। दो मुख्य दृष्टिकोण हैं: कस्टम View (onDraw() ओवरराइड) — **सिफारिश किया गया**, पुन: उपयोग योग्य, प्रदर्शन अच्छा। Bitmap पर ड्रा