2011-05-13 80 views
36

使用android:enabled="false"当我有问题,这不是禁用组件在它的一个spinner的情况。不知道它是否相关,但它属于viewflipper的一部分。禁用微调android系统

任何提示或变通方法?

感谢

回答

6

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

+0

会试试看。任何已知的错误,当它在XML中设置? – xain 2011-05-13 01:03:07

+2

与大多数纺纱工一起工作,但其中一些仍处于启用状态。 – xain 2011-05-13 01:32:47

57

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

yourSpinner.setEnabled(false); 
yourSpinner.setClickable(false); 
yourSpinner.setAdapter(typeAdapter); 
+1

我还没有发现,包括'setClickable'是必要的,至少不是在API 24上。有没有人发现它是在一些其他版本的Android? – Jon 2016-12-22 21:24:36

11

你可以在xml设置android:clickable="false"禁用spinner的点击event

+0

使用setEnabled(boolean)禁用比在XML中设置更灵活 – Erick 2015-09-10 03:52:55

9

无法在XML(还)中启用/禁用Spinner。 为此,您必须在代码中执行此操作。

下面是一个例子:

Spinner spinner = (Spinner) findViewById(R.id.mySpinner); 
spinner.setEnabled(false); 
-1

尝试使用此代码可能是这将帮助你。

<Spinner 
     android:id="@+id/spn" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:visibility="gone" 
     /> 

android:visibility="invisible" 
android:visibility="visible" 


Spinner spinner = (Spinner) findViewById(R.id.mySpinner); 
spinner.setVisibility(View.INVISIBLE); 

spinner.setVisibility(View.VISIBLE); 
spinner.setVisibility(View.GONE); 

用于启用或desable

yourSpinner.setEnabled(false); 
    yourSpinner.setEnabled(true); 

yourSpinner.setClickable(false); 
    yourSpinner.setClickable(true); 
+2

也许不打开应用程序? – 2015-08-28 00:32:27

+0

@Diego你得到了什么异常? – Amitsharma 2015-08-28 04:24:39

+0

这是一个讽刺,因为你提出的解决方案o_O – 2015-08-28 09:22:28