2012-02-07 7 views
0

それはだ場合は、idでビューを見つけることが可能です:?IDで<include>ビューを検索していますか?

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <include 
     android:id="@+id/foo" 
     layout="@layout/test" /> 

    ... 

View view = findViewById(R.id.foo); 

この場合の「ビュー」とは?それは眺めですか?それは "レイアウト/テスト"のトップレベル要素が何であれ解決しますか?

おかげ

答えて

1

あなたは基本的にあなたの含むレイアウトのトップ親ビューのIDを上書きしているので、レイアウト全体とその内容のトップビューが得られます。 <include>タグは、実際には含まれているレイアウトのコピー&ペーストです。 idタグと任意の属性をlayout_で上書きできます。

+0

返されたビューはView.setVisibility()で正常に動作する必要がありますか?これを今すぐデバッグしますが、一度findViewById()を実行したようです。 view.setVisibility(View.GONE)を呼び出しても効果はありませんか? – user291701

+0

私はそれを試みたことはありませんが、うまくいくはずです。私がタグを使用するたびに、私はほとんどのもののためにそれを通常使うことができました。しかし、 'visible'プロパティはxmlで上書きできるものではないため、この場合は許可されません。 – DeeV

+0

はい、 'include'を通して持ち込まれたビューの可視性を変更することができます。 –

0

footestレイアウトのルート要素(ViewGroup又はView)のidあろう。 idがすでにtestのレイアウトfooに定義されている場合は、それを上書きします。

関連する問題