2012-01-25 16 views
5

Ho un problema con removeAllViews e setContentView ..... entrambi non stanno lavorando per me non so perché. Ho una funzione in una classe che restituisce una vista e voglio aggiungere quella vista allo schermo e quella vista cambierà dopo ogni 5 secondi ..... quindi dopo 5 secondi chiamo removeAllViews sul layout in cui la vista viene aggiunta e quindi aggiunta di nuovo .... ma sorprendentemente la vecchia visualizzazione è ancora lì e aggiunge la nuova vista alla fine ....removeAllViews e setContentView non funziona

Lo stesso problema con il setContentView provo anche questo ma anche lavoro stesso che il layout principale anche aggiungere la vista alla fine non sostituire l'intero schermo .......

si prega di aiuto ...... grazie in anticipo .......... ..

setContentView(logic.getView()); 

e

LinearLayout layout = blah blah blah; 
layout.removeAllViews(); 
layout.addView(logic.getView(), layout parameters....); 
+2

quindi dov'è il tuo codice? –

+0

Come @AdilSoomro detto si può mostrare il codice si prega di – Sameer

+0

invalidate anche provato(), ma non funziona ......... :( –

risposta

1

Ok. Con alcuni dei commenti dei tuoi commenti ho capito perché questo problema è stato creato.

Può essere Non si rimuove la prima vista correttamente. Ecco perché mentre si aggiunge un'altra vista, ci sono due viste (la prima è la prima e la seconda è una nuova vista aggiunta) invece della nuova vista.

Quindi rimuovere la prima vista correttamente e quindi aggiungere la vista come si desidera.

Spero che vi aiuterà.

Grazie.

Divertiti. :)

+0

Grazie per aver accettato la risposta giusta. E puoi prevederlo in modo che aiuti anche altri. –

0
  • 1. Using Visiblity...

    Guarda il metodo setVisibility per modificare le opzioni di visibilità per la vista. Qui

developer.android

- **` 2.Runtime Add And Delete View`** 


LinearLayout layout; 
    TextView textview1 ,textview; 
    Button btn ; 
layout =new LinearLayout(this); 
     LayoutParams params = new LinearLayout.LayoutParams(
       LayoutParams.FILL_PARENT, 
       LayoutParams.FILL_PARENT, 1.0f); 
     layout.setLayoutParams(params); 

     btn = new Button(this); 
     LayoutParams param = new LinearLayout.LayoutParams(
       LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT, 1.0f); 

     btn.setLayoutParams(param); 
     btn.setText("Change"); 

     textview =new TextView(this); 
     textview.setLayoutParams(param); 
     textview.setText("Text 1..."); 


     textview1 =new TextView(this); 
     textview1.setLayoutParams(param); 
     textview1.setText("Text 2 ..."); 

     layout.addView(textview); 
     layout.addView(btn); 

     btn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Log.i("Remove All View ", "REmove"); 
       layout.removeAllViews(); 
       layout.addView(textview1); 
       layout.addView(btn); 
       Log.i("Remove All View ", "REmove"); 
      } 
     }); 
     setContentView(layout); 
+0

per favore spiegare e collegamenti non ci sono ......... –

+1

@ user1031944 layout.setVisibility (View.INVISBLE) qui link http://developer.android.com/reference/android/view/View.html# attr_android: visibility –

+0

ohh No non voglio invisibile ma voglio solo rimuoverlo e aggiungerlo di nuovo ..... –

Problemi correlati