2013-04-23 16 views
20

Cztery widoki używają tego samego xml. Chcę wyświetlić układ liniowy tylko dla view 1. Umieściłem android:visibility="gone" w formacie xml. I wtedy robie następuje za view 1 -Układ Android z widocznością GONE

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

layone.setVisibility(View.VISIBLE); 

Ale to nie ustawić widoczność widoczny.

Czy nie można wyświetlić widoku po zadeklarowaniu wartości GONE w formacie xml?

Nie chcę rozmawiać logiki po prostu robi,

layone.setVisibility(View.GONE); 

w każdej z trzech widoków z wyjątkiem widoku 1.

pomysły lub komentarze?

UPDATE:

Moje 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> 
+0

Zobacz moją aktualizację w formacie xml. Nie chcę wyświetlać tego całego domyślnie. Chcę tylko, żeby to było pokazane w moim widoku 1. –

Odpowiedz

7

wykonywane przez posiadające ją tak:

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

Pomoże to ludziom, jeśli powinieneś zaakceptować tę odpowiedź, aby Twoje pytanie zostało wyświetlone jako rozwiązane. Twoje zdrowie! –

20
<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 jest TextView.
Twój identyfikator jest nieprawidłowy.

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

layone.setVisibility(View.VISIBLE); 

powinien wykonać zadanie.

lub zmienić tak, aby pokazać TextView:

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

    layone.setVisibility(View.VISIBLE); 
+0

tak jest dobrze, chcę, żeby całość nie była pokazywana, łącznie z widokiem tekstu. –

+0

Dlaczego więc masz na myśli TextView z LinearLayout? Nie należy pracować. –

+0

Widok tekstu jest nad układem liniowym i jest oddzielnym nagłówkiem. –

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

Spróbuj it..For mnie ten kod działa ..

Powiązane problemy