user9797940
user9797940

Reputation:

Android - Open Spinner Programmatically (dialog spinner)

I have a spinner which's spinnerMode is dialog. My question is: How can I open it programmatically by a button click or anything else? performClick() didn't work for me. Thanks in advance.

  <Spinner
        android:id="@+id/spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:spinnerMode="dialog"/>

Upvotes: 4

Views: 3815

Answers (3)

GParekar
GParekar

Reputation: 1219

I Hope this will work for you.

 button = (Button) findViewById(R.id.button);
 final Spinner spinner = (Spinner) findViewById(R.id.spinner);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(MainActivity.this,
                        R.array.your_array, android.R.layout.simple_spinner_item); //add your arraylist.
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner.setAdapter(adapter);
                spinner.performClick();

            }
        });

Upvotes: 4

I tried below code in my MainActivity.class it works like a charm!

Code:

    Spinner spinner=(Spinner)findViewById(R.id.spinner);

    String[] list={"one","Two","one","Two","one","Two","one","Two"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, list);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    spinner.performClick();

Note:Place this "spinner.performClick();" where ever you required ie,on button click or on server response etc....

Upvotes: 3

Jay Thummar
Jay Thummar

Reputation: 2299

Here is the code for spinner

    Spinner spinner = findViewById(R.id.spinner);
    Button button3 = findViewById(R.id.button3);

    ArrayList<String> listSPinner = new ArrayList<>();
    listSPinner.add("1");
    listSPinner.add("1");
    listSPinner.add("1");
    listSPinner.add("1");

    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, listSPinner);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    button3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            spinner.performClick();
        }
    });

Upvotes: 1

Related Questions