Friday, 2 December 2016

Populate Second Spinner Value Based on First Selected Spinner

package com.example.vips.customization;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import com.androidquery.util.Constants;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

    private Spinner spb, sps;
    private ArrayList<String> str, strID;
    private Map<String, ArrayList<String>> myData;

    @Override   
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findMyViews();
        myDemo();
    }
    private void findMyViews() {
        spb = (Spinner) findViewById(R.id.branch);
        sps = (Spinner) findViewById(R.id.branchsal);
    }
    private void myDemo() {
        String[] states = {"select", "Gujarat", "Maharastra", "Rajasthan"};
        str = new ArrayList<>();
        for (int i = 0; i < states.length; i++) {
            str.add(states[i]);
        }

        String[] Ids = {"1000", "1012", "1013", "1014"};
        strID = new ArrayList<>();
        for (int i = 0; i < Ids.length; i++) {
            strID.add(Ids[i]);
        }

        String GJNames[] = {"Gondal State", "Surat", "Rajkot", "Morbi", "Ahmedabad"};
        ArrayList<String> Gujarat = new ArrayList<>();
        for (int names = 0; names < GJNames.length; names++) {
            Gujarat.add(GJNames[names]);
        }

        String MHNames[] = {"Mumbai", "Pune", "Nasik", "Sirdi"};
        ArrayList<String> Maharastra = new ArrayList<>();
        for (int names = 0; names < MHNames.length; names++) {
            Maharastra.add(MHNames[names]);
        }


        String RJNames[] = {"Jaipur", "UdaiPur", "Jodhpur"};
        ArrayList<String> Rajasthan = new ArrayList<>();
        for (int names = 0; names < RJNames.length; names++) {
            Rajasthan.add(RJNames[names]);
        }

        ArrayList<String> sel = new ArrayList<>();
        sel.add("select");

        myData = new HashMap<>();
        myData.put("1000", sel);
        myData.put("1012", Gujarat);
        myData.put("1013", Maharastra);
        myData.put("1014", Rajasthan);

        spb.setAdapter(new ArrayAdapter<String>
                         (this, android.R.layout.simple_dropdown_item_1line, str));
        spb.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override            
            public void onItemSelected
                     (AdapterView<?> adapterView, View view, int i, long l) {
                disp(strID.get(i).toString());
            }
            @Override           
            public void onNothingSelected(AdapterView<?> adapterView) {

            }
        });
    }
    private void disp(String id) {
        sps.setAdapter(new ArrayAdapter<String>
      (MainActivity.this, android.R.layout.simple_dropdown_item_1line, myData.get(id)));
    }
}









Click Here to Download .apk

No comments:

Post a Comment