Android - Open Spinner программно (диалоговое окно) - PullRequest
0 голосов
/ 24 мая 2018

У меня есть счетчик, который spinnerMode является диалогом.Мой вопрос: как я могу открыть его программно нажатием кнопки или чем-то еще?performClick() не работает для меня.Заранее спасибо.

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

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

Надеюсь, это сработает для вас.

 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();

            }
        });
0 голосов
/ 24 мая 2018

Я попробовал ниже код в моем MainActivity.class, он работает как шарм!

Код:

    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();

Примечание: Поместитеthis "spinner.performClick ();"где бы вы ни требовались, например, по нажатию кнопки или по ответу сервера и т. д.

0 голосов
/ 24 мая 2018

Вот код для прядильщика

    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();
        }
    });
...