Подтвердить что ты не робот

Макет андроида с видимостью GONE

В четырех представлениях используется один и тот же xml. Я хочу показать линейную компоновку только для view 1. Я положил android:visibility="gone" в xml. И затем я делаю следующее для view 1 -

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

layone.setVisibility(View.VISIBLE);

Но это не делает видимость видимой.

Невозможно ли показать представление после его объявленного GONE в xml?

Я не хочу обсуждать логику, просто делая,

layone.setVisibility(View.GONE);

в каждом из трех видов, кроме вида 1.

Идеи или комментарии?

UPDATE:

Мой 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>
4b9b3361

Ответ 1

Сделано, сделав это так:

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);

Ответ 2

<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.
Вы ошиблись.

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);

Ответ 3

<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" />

Попробуйте. Мне этот код работает.