एंड्रॉइड में 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"।