2013-03-12 40 views
0

我得到我班上一個編譯器錯誤不斷的「可見」,我想在下面的例子中使用獲得在android系統類的恆定值,Android的

if((enterIP.getVisibility()).equals(VISIBLE)){ 

編譯器錯誤, 「可見不能被解析爲一個變量」

在API級別

從Android文檔

公衆詮釋getVisibility()1 返回此視圖的可見性狀態。

相關XML屬性 android:visibility 返回 VISIBLE,INVISIBLE或GONE之一。

我該如何獲得VISIBLE的數值,或者我如何在我展示的例子中使用它?的

if((enterIP.getVisibility()).equals(VISIBLE)){ 

} 

因爲VISIBLE

+0

使用視圖類型來調用常量VISIBLE,INVISIBLE,GONE – 2013-03-12 08:07:39

+0

由於「VISIBLE」| 「INVISIBLE」| 「GONE」是不在「Activity」類中的「View」類中的常量。要使用常量,需要通過類名「View.VISIBLE」|「View.INVISIBLE」|「View.GONE」來調用常量。希望這可以解釋爲什麼它是編譯時錯誤。 – vinaykumar 2013-03-12 08:12:34

回答

0

可見孤獨是沒有,所以你得到VISIBLE cannot be resolved to a variable。請使用View.VISIBLE將其解析爲該類型。

可見:

int android.view.View.VISIBLE = 0 [0x0] 

public static final int VISIBLE 
+0

我的代碼中的另一個錯誤是,我使用.equals()作爲原始值。當與int值進行比較時必須更改爲==或!=,因爲VISIBLE是一個int值 – Kevik 2013-03-12 08:59:20

1

使用

if((enterIP.getVisibility()).equals(View.VISIBLE)) { 

} 

,而不是內部View類是恆定的,或者你可以使用任何瀏覽像Button,TextView的訪問從View類常量像enterIP.VISIBLE

0

VISIBLE,INVISIBLE和GONE是你的enterIP視圖的屬性,所以你可以像這樣使用它:

if((enterIP.getVisibility()).equals(enterIP.VISIBLE)){ 
0

你必須使用

View.VISIBLE 

那麼可能是你可以解決的錯誤。

0

我評論過,爲什麼你所面對的編譯時錯誤的原因。但是如果你仍然想要做同樣的事情,你可以做以下事情。

聲明變量全球

public static final int INVISIBLE=View.INVISIBLE; 
public static final int VISIBLE=View.VISIBLE; 
public static final int GONE=View.GONE; 

,然後用你的代碼

if((enterIP.getVisibility()).equals(VISIBLE)){ 

現在錯誤似乎消失了。

注意:完成這種方式避免每次都調用「視圖」類。

希望這可以幫助你。