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

एंड्रॉइड टेक्स्टव्यू में isEmpty() का उपयोग कैसे करें?

एंड्रॉइड में String.isEmpty() से खाली स्ट्रिंग जांचना

यह ट्यूटोरियल दिखाता है कि EditText इनपुट खाली है या नहीं, isEmpty() विधि से कैसे जांचें और खाली होने पर एरर दिखाएं।

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:padding="24dp"
    tools:context=".MainActivity">
    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:hint="नाम दर्ज करें"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/click"
        android:text="जांचें"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp" />
    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:textSize="25sp"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:textColor="#333" />
</LinearLayout>

चरण 3: MainActivity कोड (java/MainActivity.java)

package com.example.myapplication;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    EditText nameEditText;
    Button button;
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        nameEditText = findViewById(R.id.name);
        button = findViewById(R.id.click);
        textView = findViewById(R.id.textview);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String input = nameEditText.getText().toString();
                
                // isEmpty() जांच - लंबाई 0 है?
                if (!input.isEmpty()) {
                    // नोट: मूल कोड में indexOf("sai") था, यहां isEmpty डेमो
                    textView.setText("स्ट्रिंग खाली नहीं है। लंबाई: " + input.length());
                } else {
                    // खाली स्ट्रिंग पर एरर दिखाएं
                    nameEditText.setError("कृपया नाम दर्ज करें");
                    textView.setText("स्ट्रिंग खाली है");
                }
            }
        });
    }
}

isEmpty() मुख्य बिंदु

  • रिटर्न true यदि length() == 0
  • केवल खाली स्ट्रिंग ("") के लिए true, स्पेस (" ") के लिए false
  • नल पर NullPointerException फेंकता है
  • API 9+ (Android 2.3+) से उपलब्ध

बेहतर जांच: TextUtils.isEmpty()

// नल-सेफ खाली जांच
if (TextUtils.isEmpty(input)) {
    // null या "" दोनों के लिए true
}

// या Kotlin
if (input.isNullOrEmpty()) { ... }
if (input.isNullOrBlank()) { ... } // स्पेस भी कवर करता है

व्हाइटस्पेस हैंडलिंग

String input = nameEditText.getText().toString().trim(); // स्पेस हटाएं

if (input.isEmpty()) {
    // केवल स्पेस/टैब/न्यूलाइन दर्ज करने पर भी खाली माना जाएगा
}

संबंधित: isBlank() (API 24+)

// केवल व्हाइटस्पेस कैरेक्टर्स के लिए true
"".isBlank()        // true
" ".isBlank()       // true
"\t\n".isBlank()    // true
"a".isBlank()       // false

// vs isEmpty()
" ".isEmpty()       // false
" ".isBlank()       // true

EditText बिल्ट-इन वैलिडेशन

<EditText
    ...
    android:inputType="textPersonName"
    android:maxLength="50" />

// कोड में
if (TextUtils.isEmpty(editText.getText())) {
    editText.setError("आवश्यक");
    return;
}

ऐप टेस्ट करें

खाली छोड़कर बटन दबाएं → "कृपया नाम दर्ज करें" एरर। "कृष्णा साई" दर्ज करें → "स्ट्रिंग खाली नहीं है। लंबाई: 10"।

  1. Android में ConcurrentLinkedQueue में isEmpty() का उपयोग कैसे करें? Android में ConcurrentLinkedQueue में isEmpty() का उपयोग कैसे करें?

    ConcurrentLinkedQueue क्या है? ConcurrentLinkedQueue एक अनबाउंडेड थ्रेड-सेफ कतार है जो लिंक्ड नोड्स पर आधारित है। यह FIFO क्रम का पालन करती है और नल मानों की अनुमति नहीं देती। उदाहरण: isEmpty() मेथड का उपयोग यह उदाहरण दर्शाता है कि Android में ConcurrentLinkedQueue के isEmpty() मेथड का उपयोग कैसे

  1. Android में CopyOnWriteArraySet में isEmpty() का उपयोग कैसे करें? Android में CopyOnWriteArraySet में isEmpty() का उपयोग कैसे करें?

    CopyOnWriteArraySet क्या है? CopyOnWriteArraySet एक थ्रेड-सेफ सेट इम्प्लीमेंटेशन है जो आंतरिक रूप से CopyOnWriteArrayList का उपयोग करता है। संशोधन ऑपरेशन के लिए यह सरणी की नई कॉपी बनाता है। उदाहरण: isEmpty() मेथड का उपयोग यह उदाहरण दर्शाता है कि Android में CopyOnWriteArraySet के isEmpty() मेथड का

  1. Android में ButterKnife लाइब्रेरी का उपयोग कैसे करें? Android में ButterKnife लाइब्रेरी का उपयोग कैसे करें?

    Android में ButterKnife से व्यू बाइंडिंग सरल बनाना ButterKnife एक व्यू बाइंडिंग लाइब्रेरी है जो findViewById() कॉल्स को एनोटेशन से बदल देती है। नोट: ButterKnife अब डिप्रिकेटेड है; आधुनिक ऐप्स के लिए View Binding (बिल्ट-इन) या Data Binding उपयोग करें। ⚠ डिप्रिकेटेड: Jake Wharton ने ButterKnife को म