web-dev-qa-db-ja.com

android可視性がなくなったレイアウト

4つのビューが同じxmlを使用しています。 view 1のみの線形レイアウトを表示したい。 Android:visibility="gone"をxmlに入れました。そして、私はview 1-のために次のことをしています

LinearLayout layone= (LinearLayout) view.findViewById(R.id.layone);

layone.setVisibility(View.VISIBLE);

しかし、それは可視性を可視に設定しません。

XmlでGONEを宣言すると、ビューを表示することはできませんか?

私はただやることで論理を逆にしたくありません、

layone.setVisibility(View.GONE);

ビュー1を除く3つのビューのそれぞれ。

アイデアやコメント?

更新:

私のxml-

<TextView
                Android:id="@+id/layone"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:text="Previous Page"
                Android:textColor="#000000"
                Android:textSize="16dp"
                Android:paddingLeft="10dp"
                Android:layout_marginTop="10dp"
                Android:visibility="gone" />
         <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="50dp"
            Android:orientation="horizontal"
            Android:padding="10dp"
            Android:gravity="center_vertical"
            Android:layout_marginLeft="10dp"
            Android:layout_marginRight="10dp"          
            Android:tag="PrevEntries"     
            Android:id="@+id/laytwo"
            Android:layout_marginTop="10dp"
            Android:background="@layout/roundedtext"
            Android:visibility="gone" >

            <TextView
                Android:id="@+id/laythree"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_weight="1"
                Android:text="Previous Page"
                Android:textColor="#000000"
                Android:textSize="18dp"
                Android:gravity="center"
                Android:textStyle="bold" />

        </LinearLayout>
25
My God

そのようにすることで完了しました:

view = inflater.inflate(R.layout.entry_detail, container, false);
TextView tp1= (TextView) view.findViewById(R.id.tp1);
LinearLayout layone= (LinearLayout) view.findViewById(R.id.layone);
tp1.setVisibility(View.VISIBLE);
layone.setVisibility(View.VISIBLE);
8
My God
<TextView
                Android:id="@+id/layone"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:text="Previous Page"
                Android:textColor="#000000"
                Android:textSize="16dp"
                Android:paddingLeft="10dp"
                Android:layout_marginTop="10dp"
                Android:visibility="gone" />

layoneはTextViewです。
IDが間違っています。

LinearLayout layone= (LinearLayout) view.findViewById(R.id.laytwo);// change id here

layone.setVisibility(View.VISIBLE);

仕事をする必要があります。

または、次のように変更してTextViewを表示します。

TextView layone= (TextView) view.findViewById(R.id.layone);

    layone.setVisibility(View.VISIBLE);
24
Lazy Ninja
<LinearLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_below="@+id/activity_register_header"
    Android:minHeight="50dp"
    Android:orientation="vertical"
    Android:visibility="gone" />

それを試してみてください。私にとって、このコードは機能します。

3