2013-04-23 11 views
20

Quattro viste utilizzano lo stesso xml. Voglio mostrare un layout lineare solo per view 1. Ho inserito android:visibility="gone" in xml. E poi sto facendo quanto segue per view 1 -layout Android con visibilità GONE

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

layone.setVisibility(View.VISIBLE); 

Ma questo non imposta la visibilità al visibile.

Non è possibile mostrare la vista una volta dichiarata GONE in xml?

Io non voglio parlare della logica da solo facendo,

layone.setVisibility(View.GONE); 

in ciascuna delle tre viste, eccetto vista 1.

idee o commenti?

UPDATE:

mio 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

Vedere il mio aggiornamento con xml. Non voglio mostrare questo intero per impostazione predefinita. Voglio solo che venga mostrato a mio avviso 1. –

risposta

7

fatto avendo in quel modo:

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

Aiuterebbe la gente se dovessi accettare questa risposta in modo che la tua domanda venga visualizzata come risolta. Saluti! –

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 è un TextView.
Hai sbagliato il tuo id.

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

layone.setVisibility(View.VISIBLE); 

dovrebbe fare il lavoro.

o modificare in questo modo per mostrare la TextView:

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

    layone.setVisibility(View.VISIBLE); 
+0

sì ok, voglio che il tutto non venga mostrato, inclusa la visualizzazione del testo. –

+0

Allora, perché ti stai riferendo a TextView con LinearLayout? Non dovrebbe funzionare. La vista testo –

+0

è sopra il layout lineare ed è un'intestazione separata. –

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

Prova dolce sensuale me questo codice funziona ..

Problemi correlati