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

অ্যান্ড্রয়েডে CheckBox ব্যবহারের পদ্ধতি

অ্যান্ড্রয়েডে CheckBox ব্যবহার করে অর্ডার সিস্টেম তৈরি করা

এই উদাহরণটি দেখায় কীভাবে একাধিক CheckBox ব্যবহার করে খাদ্য আইটেম সিলেক্ট করাও এবং টোটাল কালকুলেট করা যায়।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project থেকে প্রজেক্ট তৈরি করুন।

ধাপ ২: লেআউট XML (activity_main.xml) - ConstraintLayout ব্যবহার

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    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"
    tools:context="MainActivity">
    
    <CheckBox
        android:id="@+id/checkBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="144dp"
        android:layout_marginTop="68dp"
        android:text="Pizza"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    
    <CheckBox
        android:id="@+id/checkBox2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="144dp"
        android:layout_marginTop="28dp"
        android:text="Coffee"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/checkBox" />
    
    <CheckBox
        android:id="@+id/checkBox3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="144dp"
        android:layout_marginTop="28dp"
        android:text="Burger"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/checkBox2" />
    
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="144dp"
        android:layout_marginTop="184dp"
        android:text="Order"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/checkBox3" />
</android.support.constraint.ConstraintLayout>

ধাপ ৩: MainActivity.java বাস্তবায়ন

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    CheckBox pizza, coffee, burger;
    Button buttonOrder;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        pizza = findViewById(R.id.checkBox);
        coffee = findViewById(R.id.checkBox2);
        burger = findViewById(R.id.checkBox3);
        buttonOrder = findViewById(R.id.button);
        
        buttonOrder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int totalAmount = 0;
                StringBuilder result = new StringBuilder();
                result.append("Selected Items:\n");
                
                if (pizza.isChecked()) {
                    result.append("Pizza - 100৳\n");
                    totalAmount += 100;
                }
                if (coffee.isChecked()) {
                    result.append("Coffee - 50৳\n");
                    totalAmount += 50;
                }
                if (burger.isChecked()) {
                    result.append("Burger - 120৳\n");
                    totalAmount += 120;
                }
                
                result.append("\nTotal: ").append(totalAmount).append("৳");
                Toast.makeText(getApplicationContext(), result.toString(), Toast.LENGTH_LONG).show();
            }
        });
    }
}

CheckBox-এর মূল বৈশিষ্ট্য

  • isChecked(): চেকবক্স সিলেক্ট করা আছে কিনা যাচাই করে
  • setChecked(boolean): প্রোগ্রাম্যাটিক্যালি চেক/আনচেক করতে ব্যবহৃত হয়
  • setOnCheckedChangeListener(): চেক স্টেট পরিবর্তন হলে লিসেনার

উন্নত সংস্করণ: Dynamic CheckBox Handling

যদি অনেক গুলো চেকবক্স থাকে, তাহলে ArrayList বা Map ব্যবহার করুন:

Map prices = new HashMap<>();
prices.put(pizza, 100);
prices.put(coffee, 50);
prices.put(burger, 120);

for (Map.Entry entry : prices.entrySet()) {
    if (entry.getKey().isChecked()) {
        total += entry.getValue();
        result.append(entry.getKey().getText()).append(" - ").append(entry.getValue()).append("৳\n");
    }
}

ধাপ ৪: 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>

অ্যাপ্লিকেশন টেস্ট করুন

অ্যাপ রান করুন, চেকবক্সগুলো সিলেক্ট করুন এবং "Order" বাটনে ক্লিক করুন। টোস্ট মেসেজে সিলেক্ট করা আইটেম এবং টোটাল প্রাইস দেখাবে।

  1. অ্যান্ড্রয়েডে Snackbar ব্যবহার করার পদ্ধতি

  2. How can I use Marquee text in an android app?

  3. অ্যান্ড্রয়েড অ্যাপে ম্যাটেরিয়াল ডিজাইন কম্পোনেন্টস কীভাবে ব্যবহার করবেন?

  4. Android-এ NavigationView ব্যবহার করে নেভিগেশন ড্রয়ার তৈরির পদ্ধতি