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

Android में TextWatcher क्लास का उपयोग कैसे करें?

Android में TextWatcher के साथ टेक्स्ट परिवर्तन मॉनिटर करना

TextWatcher इंटरफेस का उपयोग EditText में टेक्स्ट परिवर्तनों को रियल-टाइम में सुनने के लिए किया जाता है। यह तीन कॉलबैक प्रदान करता है: beforeTextChanged, onTextChanged, और afterTextChanged।

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

Android Studio में File → New Project चुनें।

चरण 2: लेआउट फ़ाइल (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Android Text Watcher"
        android:textSize="16sp"
        android:textStyle="bold"
        android:layout_marginTop="24sp"
        android:layout_centerHorizontal="true"
        android:layout_alignParentTop="true" />

    <EditText
        android:id="@+id/etInput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/text"
        android:maxLength="15"
        android:hint="इनपुट करें" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="12dp"
        android:layout_below="@id/etInput"/>

</RelativeLayout>

चरण 3: MainActivity में TextWatcher लागू करें (src/MainActivity.java)

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private EditText input;
    private TextView output;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        input = findViewById(R.id.etInput);
        output = findViewById(R.id.textView);

        // TextWatcher जोड़ें
        input.addTextChangedListener(textWatcher);
    }

    private final TextWatcher textWatcher = 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) {
            // टेक्स्ट बदलते समय कॉल होता है - रियल-टाइम अपडेट के लिए आदर्श
            output.setText(s.toString());
            
            // 12वें कैरेक्टर पर लिमिट चेतावनी
            if (start == 12) {
                Toast.makeText(getApplicationContext(), 
                    "अधिकतम सीमा पहुंच गई", Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void afterTextChanged(Editable s) {
            // टेक्स्ट बदलने के बाद कॉल होता है
            // यहां Editable ऑब्जेक्ट को मॉडिफाई कर सकते हैं
        }
    };
}

चरण 4: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

TextWatcher के तीन कॉलबैक समझें

मेथड कब कॉल होता है उपयोग
beforeTextChanged टेक्स्ट बदलने से पहले पिछला मान सेव करने के लिए
onTextChanged टेक्स्ट बदलते समय रियल-टाइम UI अपडेट, वैलिडेशन
afterTextChanged टेक्स्ट बदलने के बाद Editable मॉडिफाई करने के लिए

ऐप चलाएं

ऐप लॉन्च करें, EditText में टाइप करें और रियल-टाइम में टेक्स्ट कॉपी होते देखें। 12 कैरेक्टर के बाद चेतावनी टोस्ट दिखाई देगा।

Android में TextWatcher क्लास का उपयोग कैसे करें?

Android में TextWatcher क्लास का उपयोग कैसे करें?

  1. Android में पेजिनेटिंग टेक्स्ट कैसे बनाएं? Android में पेजिनेटिंग टेक्स्ट कैसे बनाएं?

    यह उदाहरण दर्शाता है कि लंबे टेक्स्ट को पेज में बांटकर (पेजिनेशन) कैसे दिखाया जाए, जैसे ई-बुक रीडर ऐप्स में होता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/activity_main.xml - नेविगेशन बटन्स के साथ TextView: <?xml version=1.0 encoding=utf-

  1. Android Toolbar में SearchView का उपयोग कैसे करें? Android Toolbar में SearchView का उपयोग कैसे करें?

    Android Toolbar/ActionBar में SearchView जोड़कर ListView फ़िल्टर करना टूलबार में सर्च आइकन जोड़कर ListView डेटा को रियल-टाइम फ़िल्टर करने का पूरा उदाहरण। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट में Toolbar और ListView res/layout/activity_main.xml: <?xml ve

  1. Android में CalendarView विजेट का उपयोग कैसे करें? Android में CalendarView विजेट का उपयोग कैसे करें?

    Android CalendarView विजेट से तारीख चयन करना यह उदाहरण दर्शाता है कि CalendarView विजेट का उपयोग करके एक इंटरैक्टिव कैलेंडर कैसे दिखाया जाए और तारीख चयन पर कॉलबैक कैसे प्राप्त करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट फ़ाइल (res/layout/activity_main