android layout with visibility GONE

My God picture My God · Apr 23, 2013 · Viewed 121.9k times · Source

Four views are using same xml. I want to show a linear layout for view 1 only. I put android:visibility="gone" in xml. And then I am doing the following for view 1-

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

layone.setVisibility(View.VISIBLE);

But that doesn't set the visibility to visible.

Isn't it possible to show the view once its declared GONE in xml ?

I don't want to converse the logic by just doing,

layone.setVisibility(View.GONE);

in each of the three views except view 1.

Ideas or comments?

UPDATE:

My 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>

Answer

Lazy Ninja picture Lazy Ninja · Apr 23, 2013
<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 is a TextView.
You got your id wrong.

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

layone.setVisibility(View.VISIBLE);

should do the job.

or change like this to show the TextView:

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

    layone.setVisibility(View.VISIBLE);