在android中禁用Spinner

xai*_*ain 55 android spinner

我在使用时遇到问题android:enabled="false",它不会在组件的情况下禁用组件spinner.不知道它是否相关,但它属于一个布局viewflipper.

任何提示或解决方法?

谢谢

小智 86

在设置适配器之前禁用或启用它.

yourSpinner.setEnabled(false);   
yourSpinner.setClickable(false);  
yourSpinner.setAdapter(typeAdapter);
Run Code Online (Sandbox Code Playgroud)

  • 我还没有发现必须包含“ setClickable”,至少在API 24上没有。有没有人发现它在其他版本的android上? (2认同)
  • 它与设置适配器无关,您可以在之前或之后进行,没关系,您为什么提到它? (2认同)

The*_*rga 15

(尚未)在XML中启用/禁用Spinner是不可能的.为此,您必须在代码中执行此操作.

这是一个例子:

Spinner spinner = (Spinner) findViewById(R.id.mySpinner);
spinner.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)


Zep*_*hyr 13

您可以android:clickable="false"在中xml设置禁用spinner单击event.

  • 有一个 Android 错误不尊重旋转器的“可点击”。 (3认同)
  • @Erick 我不同意你的看法,这取决于用例 (2认同)

Alb*_*iir 8

您可以在Java代码本身而不是在Java代码中设置它XML,因为它Spinner应该setEnabled(boolean)从中实现View.

  • 与大多数微调器一起工作但其中一些仍然启用. (4认同)