কম্পিউটার টিউটোরিয়াল

Android-এ TextView-এ শুধু ডিজিট (Digits) আছে কিনা যাচাই করা

TextUtils.isDigitsOnly() ব্যবহার করে শুধু সংখ্যা যাচাই করা

Android-এ android.text.TextUtils.isDigitsOnly(CharSequence) একটি বিল্ট-ইন ইউটিলিটি মেথড যা কোনো স্ট্রিং শুধু সংখ্যা (0-9) দিয়ে গঠিত কিনা তা বুলিয়ান রিটার্ন করে।

লেআউট (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp" />

    <Button
        android:id="@+id/btn_check"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="চেক করুন"
        android:layout_marginTop="24dp" />

</LinearLayout>

MainActivity.java

package com.example.myapplication;

import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    TextView textView;

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

        textView = findViewById(R.id.text);
        // টেস্ট ডেটা সেট
        textView.setText("123456789");

        findViewById(R.id.btn_check).setOnClickListener(v -> {
            String input = textView.getText().toString();
            boolean isDigitsOnly = TextUtils.isDigitsOnly(input);
            Toast.makeText(this, "শুধু ডিজিট? " + isDigitsOnly, Toast.LENGTH_LONG).show();
        });
    }
}

TextUtils.isDigitsOnly() এর বৈশিষ্ট্য

  • শুধু ASCII ডিজিট (0-9) চেক করে
  • খালি স্ট্রিং ("") এর জন্য false রিটার্ন করে
  • স্পেস, ড্যাশ, ডেসিম্যাল পয়েন্ট, লেটার থাকলে false
  • null ইনপুটের জন্য false রিটার্ন করে

অন্যান্য উপকারী TextUtils মেথডসমূহ

মেথডকাজ
isEmpty(CharSequence)null বা length==0 চেক
isGraphic(CharSequence)প্রিন্টেবল ক্যারেক্টার আছে কিনা
split(CharSequence, String)Regex দিয়ে স্প্লিট
join(CharSequence, Iterable)জয়েন করে স্ট্রিং বানান
htmlEncode(String)HTML এনকোড

Regex অল্টারনেটিভ (আধুনিক উপায়)

// শুধু ডিজিট চেক (Regex)
boolean isDigits = input.matches("^\\d+$"); // এক বা অধিক ডিজিট

// অথবা কোotlin-এ
val isDigits = input.all { it.isDigit() }

ব্যবহার কেস

  • ফোন নম্বর, পিন কোড, OTP ভ্যালিডেশন
  • সাংখ্যিক আইডি (NID, Roll Number) ভ্যালিডেশন
  • ফর্ম ইনপুট স্যানিটাইজেশন

Android-এ TextView-এ শুধু ডিজিট (Digits) আছে কিনা যাচাই করা

  1. Android-এ সেকেন্ডারি অ্যাক্টিভিটি থেকে মেইন অ্যাক্টিভিটিতে ডেটা পাঠানোর পদ্ধতি

  2. Android-এ TextView-এ টেক্সট জাস্টিফাই (Justify) করার পদ্ধতি

  3. Android-এ মোবাইল ডেটা প্রোগ্রাম্যাটিকভাবে ডিজেবল/এনেবল করা

  4. Android Data Binding 습득: সুস্পষ্ট UI ডেটা ইন্টিগ্রেশন