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

অ্যান্ড্রয়েডে ArrayList খালি কিনা চেক করে ListView হ্যান্ডলিং

ArrayList.isEmpty() মেথডের ব্যবহার

ArrayList-এ isEmpty() মেথডটি তখন true রিটার্ন করে যখন লিস্টে কোনো এলিমেন্ট থাকে না। ListView-এ ডেটা না থাকলে এটি লুকিয়ে দেয়া বা খালি ভিউ দেখানো ভাল প্র্যাক্টিস।

উদাহরণ: খালি ArrayList চেক করে ListView ভিজিবিলিটি কন্ট্রোল

এই উদাহরণে ArrayList খালি কিনা চেক করে ListView-এর ভিজিবিলিটি সেট করা হয়েছে।

ধাপ ১-২: প্রজেক্ট ও লেআউট

পূর্বের উদাহরণের মতো activity_main.xml ব্যবহার করুন।

ধাপ ৩: MainActivity.java - isEmpty() চেক

package com.example.arraylistemptycheck;

import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Set;

public class MainActivity extends AppCompatActivity {
    EditText name;
    ArrayAdapter<String> arrayAdapter;
    ArrayList<String> arrayList;
    Set<String> nameSet = new HashSet<>();
    ListView listView;

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

        arrayList = new ArrayList<>();
        arrayList.ensureCapacity(20);
        
        name = findViewById(R.id.name);
        listView = findViewById(R.id.listView);

        findViewById(R.id.refresh).setOnClickListener(v -> {
            if (arrayAdapter != null) {
                arrayAdapter.notifyDataSetChanged();
                listView.invalidateViews();
                listView.refreshDrawableState();
            }
        });

        findViewById(R.id.save).setOnClickListener(v -> {
            String inputName = name.getText().toString().trim();
            if (!inputName.isEmpty()) {
                nameSet.add(inputName);
                arrayList.clear();
                
                // ArrayList খালি কিনা চেক করা হচ্ছে
                if (arrayList.isEmpty()) {
                    arrayList.addAll(nameSet);
                    
                    Collections.sort(arrayList, new Comparator<String>() {
                        @Override
                        public int compare(String o1, String o2) {
                            return o1.compareTo(o2);
                        }
                    });
                    
                    arrayList.trimToSize();
                    arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
                    listView.setAdapter(arrayAdapter);
                    listView.setVisibility(View.VISIBLE); // ডেটা থাকলে দেখাবে
                } else {
                    // এই ব্লক সাধারণত এক্সিকিউট হবে না কারণ arrayList.clear() এর পরই চেক করা হচ্ছে
                    listView.setVisibility(View.GONE); // ডেটা না থাকলে লুকিয়ে দেবে
                }
                Toast.makeText(this, "সংরক্ষণ সফল", Toast.LENGTH_LONG).show();
            } else {
                name.setError("নাম লিখুন");
            }
        });
    }
}

ListView খালি হ্যান্ডলিংয়ের ভালো পদ্ধতি

বাস্তব অ্যাপ্লিকেশনে ListView-এ খালি অবস্থা হ্যান্ডল করার জন্য setEmptyView() ব্যবহার করা উচিত:

// XML-এ একটি TextView যোগ করুন android:id="@+id/emptyView" এবং android:visibility="gone"
// তারপর জাভাতে:
ListView listView = findViewById(R.id.listView);
View emptyView = findViewById(R.id.emptyView);
listView.setEmptyView(emptyView);

// ArrayAdapter সেট করলে অটোমেটিক খালি হলে emptyView দেখাবে
listView.setAdapter(arrayAdapter);

চলাচল ও ফলাফল

অ্যাপ রান করুন। প্রথমে ListView খালি থাকবে। নাম লিখে Save দিলে ListView দৃশ্যমান হবে এবং ডেটা দেখাবে।

অ্যান্ড্রয়েডে ArrayList খালি কিনা চেক করে ListView হ্যান্ডলিং

ফলাফলে "abc" ইনসার্ট করার পর ListView-এ ডেটা দেখানো হয়েছে।

  1. Android-এ ListView-এর জন্য ArrayList-এ এলিমেন্ট যোগ করার পদ্ধতি

  2. Android-এ ListView-এর জন্য ArrayList-এন এলিমেন্ট মুছে ফেলার পদ্ধতি

  3. অ্যান্ড্রয়েডে ListView-এর জন্য কাস্টম অ্যাডাপ্টার তৈরির পদ্ধতি

  4. অ্যান্ড্রয়েডে EditText খালি কিনা চেক করার পদ্ধতি