2012-01-25 8 views
5

Mam problem z removeAllViews i setContentView ..... oba nie działają dla mnie i nie wiem dlaczego. Mam funkcji w klasie, że powrót widok i chcę dodać, że widok na ekranie i że widok będzie zmiana po każdym 5 sekund ..... więc po 5 sekund zgłoszę removeAllViews w układzie, w którym widok jest dodawany, a następnie dodawać go ponownie ... ale zaskakująco stary widok nadal tam jest i dodaje nowy widok na końcu ...removeAllViews i setContentView nie działa

Ten sam problem z setContentView i spróbować tego również, ale również działa tak samo jak główny układ, a także dodaje widok na końcu, nie zastępując całego ekranu .......

proszę o pomoc ...... z góry dzięki .......... ..

setContentView(logic.getView()); 

i

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

więc gdzie jest twój kod? –

+0

As @AdilSoomro powiedział, że możesz pokazać swój kod, proszę – Sameer

+0

wypróbował również invalidate(), ale nie działa ......... :( –

Odpowiedz

1

Ok. Po zapoznaniu się z Twoimi komentarzami dowiedziałem się, dlaczego ten problem został stworzony.

Może nie wyjmujesz pierwszy widok prawidłowo. To dlatego podczas dodawania kolejnego widoku są dwa widoki (pierwszy jest poprzedni, a drugi nowo dodany widok) zamiast jednego nowego widoku.

Usuń więc pierwszy widok prawidłowo, a następnie dodaj widok, jak chcesz.

Mam nadzieję, że ci to pomoże.

Dzięki.

Ciesz się. :)

+0

Dzięki za zaakceptowanie prawidłowej odpowiedzi. I możesz to zrobić, aby pomóc innym. –

0
  • 1. Using Visiblity...

    Spójrz na metody setVisibility zmienić opcje widoczności dla widoku. Tutaj

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

proszę wyjaśnić i linki nie istnieją ......... –

+1

@ user1031944 layout.setVisibility (View.INVISBLE) tutaj link http://developer.android.com/reference/android/view/View.html# attr_android: widoczność –

+0

ohh Nie, nie chcę być niewidoczny, chcę go tylko usunąć i dodać ponownie ..... –

Powiązane problemy