2011-08-05 11 views
0

私はのTextViewの可視性を切り替えたい場合は、私がAndroid DocumentationによるView.VISIBLEまたはView.INVISIBLEView.VISIBLEと通常のintで使用されるintの違いは何ですか?

を使用することができ、VISIBLEは0であるとINVISIBLEは1

です

setvisibility(0)を使用すると動作しません

なぜView.VISIBLEは動作しますが0ではないのですか?

+0

.GONEは8です)。 – Cristian

+0

あなたのAndroidライブラリでView.Visibleが0の場合、これは不可能です。 –

+0

setVisibility(1)でも表示されますが、非表示にする必要があります – mrburns

答えて

2

source codeをチェックすることは、Androidで常に有効なオプションです。すぐに明らかであることの一つは、INVISIBLEない 1であるということである。

/** 
* This view is visible. Use with {@link #setVisibility}. 
*/ 
public static final int VISIBLE = 0x00000000; 

/** 
* This view is invisible, but it still takes up space for layout purposes. 
* Use with {@link #setVisibility}. 
*/ 
public static final int INVISIBLE = 0x00000004; 

しかし、VISIBLEはそうリテラル0が動作するはず使用して、実際に0です。すべてsetVisibility()は実際にはsetFlags()にそれを渡した番号とVISIBILITY_MASK(0x0C(12))の代理人です。

+0

ありがとうございます。私はドキュメントを間違って読むように見えると思います。私はそれらの0,1,2値はxmlファイルのためだと思うし、VISIBLE、INVISIBLE、GONE intsはコードで使用しているときです。 – mrburns

1

これらのint値は常に変化する可能性があります。そのため、列挙型のパラメータとは対照的に数値を使用する際に注意する必要があります。

あなたが本当にこれらのパラメータの後ろに値を知りたい場合は、使用します。

hello.setText(Integer.toString(View.INVISIBLE)) 

ハローは、TextViewのことで。この場合

、答えは4です。これは私がsetVisibilityを使用する場合(0)項目が見えます...私の作品

関連する問題