Android - 如何通过编程方式打开下拉选框(对话框式下拉选框)

4

我有一个旋转框,它的 spinnerMode 是对话框。我的问题是:如何通过按钮点击或其他方式以编程方式打开它?performClick() 对我没有起作用。提前致谢。

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

button.setOnClickListener 应该可以工作。 - sneharc
performClick() 方法返回了什么? - pskink
3个回答

4

希望这对你有帮助。

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

            }
        });

当使用对话框时,我的微调控件在使用performClick()时会在对话框后面打开。有什么解决办法吗? - Huzaifa Asif

3

我在MainActivity类中尝试了以下代码,它非常有效!

代码:

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

注意:将此“spinner.performClick();”放在您需要的任何地方,例如按钮单击或服务器响应等处...

1
这是一个旋转器的代码。
    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();
        }
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接