2011-05-13 82 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