以编程方式设置 spinnerMode

Posted

技术标签:

【中文标题】以编程方式设置 spinnerMode【英文标题】:Set spinnerMode programmatically 【发布时间】:2021-11-21 09:49:54 【问题描述】:

按下按钮时如何更改 spinnerMode? 我的意思主要是实现对微调器的更改的方法,其余的我希望我能做到:)

假设我有一个像下面这样的微调器

val spinner= findViewById<Spinner>(R.id.Spinner)

我知道你可以应用这样的东西,但是你如何在上面显示的微调器中实现它?

val setSpinnerMode = Spinner(this, null, android.R.style.Widget_Spinner, Spinner.MODE_DROPDOWN)

或者也许有人比上面显示的有更好的主意:)

【问题讨论】:

【参考方案1】:

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

注意:将此spinner.performClick(); 放置在您需要的任何位置,即按钮单击或服务器响应等......

【讨论】:

【参考方案2】:

在 kotlin 你可以试试这个

    val spinner = findViewById<View>(R.id.spinner) as Spinner
    val adapter = ArrayAdapter(this@MainActivity, 
                   R.layout.simple_spinner_dropdown_item, list)
        
   adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item)
        spinner.adapter = adapter
        spinner.performClick()

【讨论】:

以上是关于以编程方式设置 spinnerMode的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式打开 Android 设置

如何以编程方式设置 UITableView 的高度

为啥我们不能在以编程方式设置初始视图控制器时以编程方式在视图控制器之间跳转?

以编程方式设置 UITabBar 标题

无法以编程方式将样式设置为 LinearLayout

如何以编程方式设置scrollview高度