2012-04-18 17 views
6

Ho la seguente struttura xml della mia attività dell'app. Ora vorrei rimuovere programmaticamente RelativeLayout figlio con id layer1Front. Come potrei farlo in codice. Non voglio nasconderlo, ho bisogno di rimuoverlo a causa di problemi di memoria nella mia app. Inoltre, dopo averlo rimosso in qualche modo, la mia app sarà più leggera e più veloce di quella attuale?Rimuovere il layout a livello di programmazione

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/layer1Front" > 
    </RelativeLayout> 
    <HorizontalScrollView android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <FrameLayout android:layout_width="wrap_content" 
      android:layout_height="fill_parent"     
      android:id="@+id/parallaxLayers"   
      android:visibility="gone">  
     </FrameLayout> 
    </HorizontalScrollView> 
    <RelativeLayout android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/frontView"> 

    </RelativeLayout>  

</RelativeLayout> 
+0

possibile duplicato [come rimuovere il sottolivello dal Layout in Android?] (http://stackoverflow.com/questions/4030053/how-to-remove-sublayout-from-the-layout-in-android) – SERPRO

+1

Spero che tu abbia provato Visualizza .G ONE – ValayPatel

+1

Non voglio nascondere il layout. Voglio rimuoverlo –

risposta

28

semplice sarebbe

findViewById(R.id.layer1front).setVisibility(View.GONE); 

Ma allora si può anche avere qualcosa come

View root = findViewById(R.id.your_root); 
root.removeView(yourViewToRemove); 

No, la vostra applicazione non sta per essere più leggero o più veloce dopo la rimozione

+0

La rimozione della vista cancella parte della memoria? – Raj

+0

TYPO: setVisibiliy – Andy

2

Prova recupero layout di genitore e di rimuovere bambino

parentView.remove(child) 

Spero che questo funziona.

Problemi correlati