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

অ্যান্ড্রয়েডে Spinner ভ্যালু পাওয়ার পদ্ধতি

Spinner-এ AdapterView.OnItemSelectedListener ব্যবহার করে সিলেক্টেড ভ্যালু পাওয়া

অ্যান্ড্রয়েড Spinner একটি ড্রপ-ডাউন লিস্ট প্রদান করে। ব্যবহারকারী কোন আইটেম সিলেক্ট করলে `OnItemSelectedListener` ইন্টারফেসের `onItemSelected()` মেথড কল হয়, যেখানে থেকে সিলেক্টেড ভ্যালু পাওয়া যায়।

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

স্ট্যান্ডার্ড অ্যান্ড্রয়েড প্রজেক্ট।

ধাপ ২: লেআউটে Spinner যোগ করুন

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16sp"
    tools:context=".MainActivity">
    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
</RelativeLayout>

ধাপ ৩: স্ট্রিং অ্যারে ডেটা

res/values/strings.xml - স্ট্রিং অ্যারে ডিফাইন করুন:

<resources>
    <string name="app_name">Sample</string>
    <string-array name="birds">
        <item>Crane</item>
        <item>Cuckoo</item>
        <item>Pigeon</item>
        <item>Eagle</item>
        <item>Owl</item>
        <item>Vulture</item>
        <item>Woodpecker</item>
    </string-array>
</resources>

ধাপ ৪: Spinner সেটআপ এবং লিসেনার

src/MainActivity.java:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
    Spinner spinner;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        spinner = findViewById(R.id.spinner);
        
        // স্ট্রিং অ্যারে থেকে অ্যাডাপ্টার তৈরি
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                R.array.birds, android.R.layout.simple_spinner_item);
        
        // ড্রপ-ডাউন ভিউ লেআউট সেট করুন
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        
        // অ্যাডাপ্টার সেট করুন
        spinner.setAdapter(adapter);
        
        // লিসেনার সেট করুন
        spinner.setOnItemSelectedListener(this);
    }
    
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        // সিলেক্টেড আইটেম পাওয়া
        String selectedItem = parent.getItemAtPosition(position).toString();
        
        // Toast দেখান
        Toast.makeText(parent.getContext(), "Selected: " + selectedItem, Toast.LENGTH_SHORT).show();
        
        // অথবা সরাসরি পজিশন ব্যবহার করুন
        // String selectedItem = parent.getAdapter().getItem(position).toString();
    }
    
    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        // কিছুই সিলেক্ট না হলে (খুব কম ঘটে)
    }
}

গুরুত্বপূর্ণ পয়েন্ট

  • createFromResource() - স্ট্রিং অ্যারে রিসোর্স থেকে সরাসরি অ্যাডাপ্টার তৈরি করে
  • setDropDownViewResource() - ড্রপ-ডাউন লিস্টের চেহারা কন্ট্রোল করে
  • implements OnItemSelectedListener - এক্টিভিটিই লিসেনার হয়
  • parent.getItemAtPosition(position) - সিলেক্টেড অবজেক্ট রিটার্ন করে

প্রোগ্রাম্যাটিক্যালি সিলেকশন সেট করা

// পজিশন অনুযায়ী
spinner.setSelection(2); // তৃতীয় আইটেম (0-ইন্ডেক্স)

// ভ্যালু অনুযায়ী
int position = adapter.getPosition("Eagle");
if (position >= 0) {
    spinner.setSelection(position);
}

কাস্টম লেআউট ব্যবহার

কাস্টম রো লেআউটের জন্য:

ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.custom_spinner_item, birdsList);
adapter.setDropDownViewResource(R.layout.custom_spinner_dropdown_item);
অ্যান্ড্রয়েডে Spinner ভ্যালু পাওয়ার পদ্ধতি
  1. অ্যান্ড্রয়েডে এক্টিভিটি টাস্ক থাম্বনেইল আকার (Thumbnail Size) কীভাবে পেতে হয়?

  2. অ্যান্ড্রয়েডে বর্তমান থ্রেডের আইডি (ID) পাওয়ার পদ্ধতি

  3. অ্যান্ড্রয়েডে EditText ফিল্ডের মান পাওয়ার পদ্ধতি

  4. অ্যান্ড্রয়েডে Spinner-এ ভ্যালু অনুযায়ী আইটেম সিলেক্ট করা (পজিশন নায়)