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 आइकन पर क्लिक करें। विकल्प के रूप में अपना मोबाइल डिवाइस चुनें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।

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