Monday, December 3, 2018

Android Spinner & Android AutoCompleteView (Part-10)

                              Android Spinner Example
                  --------------------------------------------------






Android Spinner হলো , এক ধরনের  combox বাক্সের মতো !! এটা , অনেকগুলো ভ্যালু'র সমন্বয়ে  drop down menu এর মতো , যেখান থেকে অনেকগুলো'র ভেতরে যেকোনো একটা ইউজারকে সিলেক্ট করতে হয় !!  Android Spinner class হলো , AsbSpinner class এর সাবক্লাস !! আমরা এখন একটা অ্যাপ্লিকেশন বানিয়ে ফেলি , যেটা বিভিন্ন দেশের একটা লিস্ট শো করাবে আর যেখান থেকে , আমরা যেকোনো একটা সিলেক্ট করবো !! এইজন্য , আমরা  ArrayAdapter ক্লাস ব্যবহার করে - দেশের নামগুলো স্টোর করে রাখবো !!

চলো আমরা , এবার দেখে নেই ---------

File: activity_main.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:app="http://schemas.android.com/apk/res-auto" 
        xmlns:tools="http://schemas.android.com/tools" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        tools:context="example.javatpoint.com.spinner.MainActivity"> 
     
        <Spinner 
            android:id="@+id/spinner" 
            android:layout_width="149dp" 
            android:layout_height="40dp" 
            android:layout_marginBottom="8dp" 
            android:layout_marginEnd="8dp" 
            android:layout_marginStart="8dp" 
            android:layout_marginTop="8dp" 
             /> 
     
    </android.support.constraint.ConstraintLayout> 

এবার আমাদের জাভা ফাইল দেখে নেই   !!

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 {
    String[] country = { "India", "USA", "China", "Japan", "Other"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //Getting the instance of Spinner and applying OnItemSelectedListener on it
        Spinner spin = (Spinner) findViewById(R.id.spinner);
        spin.setOnItemSelectedListener(this);

        //Creating the ArrayAdapter instance having the country list
        ArrayAdapter aa = new ArrayAdapter(this,android.R.layout.simple_spinner_item,country);
        aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //Setting the ArrayAdapter data on the Spinner
        spin.setAdapter(aa);

    }

    //Performing action onItemSelected and onNothing selected
    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) {
        Toast.makeText(getApplicationContext(),country[position] , Toast.LENGTH_LONG).show();
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
    }
}

আশা করি , এটা রান করালেই , অনেক কিছুই আমাদের কাছে পরিষ্কার হয়ে যাবে !! আমরা যেটা সিলেক্ট করবো , সেটা টোস্ট আকারে , শো হবে , তাও সহজেই আমরা বুঝতে পারবো , কোনটা সিলেক্ট করবো, আমরা ?? আজ এইটুকুই !! 




                        Android AutoCompleteTextView Example
                  -----------------------------------------------
                         

 
আমরা যখন গুগলে, কোনো কিছু সার্চ করি , তখন ওটোমেটিক অনেক কিছু সাজেশন চলে আসে , অনুরুপভাবে আমরা যদি এরকম অটোমেটিক সাজেশন সিস্টেম করতে চাই , তাহলে  AutoCompleteTextView ব্যবহার করে করতে হবে !! এটা মূলত এক ধরনের  editable text field যেখানে কিছু লিখতে গেলে , drop down menu আকারে কিছু ওটোমেটিক  সাজেশন চলে আসবে !! যেখান থেকে , আমরা শুধু একটা সাজেশন সিলেক্ট করতে পারবো !! চলো , তাহলে একটা অ্যাপ্লিকেশন বানিয়ে ফেলি --------

File: activity_main.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:app="http://schemas.android.com/apk/res-auto" 
        xmlns:tools="http://schemas.android.com/tools" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        tools:context="example.javatpoint.com.autocompletetextview.MainActivity"> 
     
        <TextView 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="What is your favourite programming language?" 
            app:layout_constraintBottom_toBottomOf="parent" 
            app:layout_constraintLeft_toLeftOf="parent" 
            app:layout_constraintRight_toRightOf="parent" 
            app:layout_constraintTop_toTopOf="parent" 
            app:layout_constraintVertical_bias="0.032" /> 
     
        <AutoCompleteTextView 
            android:id="@+id/autoCompleteTextView" 
            android:layout_width="200dp" 
            android:layout_height="wrap_content" 
            android:layout_marginLeft="92dp" 
            android:layout_marginTop="144dp" 
            android:text="" 
            app:layout_constraintStart_toStartOf="parent" 
            app:layout_constraintTop_toTopOf="parent" /> 
     
    </android.support.constraint.ConstraintLayout> 

এখন , আমরা জাভা ফাইল দেখে নেই !!!

File: MainActivity.java

    package example.javatpoint.com.autocompletetextview; 
     
    import android.graphics.Color; 
    import android.support.v7.app.AppCompatActivity; 
    import android.os.Bundle; 
    import android.widget.ArrayAdapter; 
    import android.widget.AutoCompleteTextView; 
     
    public class MainActivity extends AppCompatActivity { 
        String[] language ={"C","C++","Java",".NET","iPhone","Android","ASP.NET","PHP"}; 
        @Override 
        protected void onCreate(Bundle savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.activity_main); 
            //Creating the instance of ArrayAdapter containing list of language names 
            ArrayAdapter<String> adapter = new ArrayAdapter<String> 
                    (this,android.R.layout.select_dialog_item,language); 
            //Getting the instance of AutoCompleteTextView 
            AutoCompleteTextView actv =  (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView); 
            actv.setThreshold(1);//will start working from first character 
            actv.setAdapter(adapter);//setting the adapter data into the AutoCompleteTextView 
            actv.setTextColor(Color.RED); 
        } 
    } 

তাহলে এখন আমরা রান করলে, বিষয়টি আমাদের কাছে পরিষ্কার হয়ে যাবে , আমরা এক্ষেত্রেও  ArrayAdapter ইউজ করেছি !! ArrayAdapter বার বার ব্যবহারের কারণে বিষয়টি আমাদের কাছে আরো পরিষ্কার হয়ে উঠবে !! আজ এইটুকুই !!














































No comments:

Post a Comment