2010-09-27 22 views

cevap

175

:

((ViewManager)entry.getParent()).removeView(entry); 
+7

@schwiz sen gösteriyi çaldın.güzel cevap – Sameer

+31

Daha yeni SDK'larda '' (ViewGroup) ':) – Ron

+0

@schwiz bu durumda view ID'lerini nasıl sıfırlayabiliriz.İlk görüşüm eklendiğinde bile etkinliğim bittikten sonra problemim görülebilir. Bu etkinliğe yeniden döndüğümde görünüm kimliğini varsayılan olarak 1’e kadar istiyorum. – AndroidNewBee

19

ViewStub'ı kullanın ve geçiş yapmak istediğiniz görüntünün düzenini belirtin. görüntülemek için:

mViewStub.setVisibility(View.VISIBLE) or mViewStub.inflate(); 

kaybolur için: Öyle gibi yaptık

mViewStub.setVisibility(View.GONE); 
+20

Gizleme, kaldırmayla aynı şey değildir. – Darkwater

+0

Gizlemek/göstermek istiyorsanız .setVisibility (View.INVISIBLE) ve .setVisibility (View.VISIBLE) kullanabilirsiniz. Görünüm görünmez olduğunda, kullanıcı onunla etkileşime giremez. – dennisschagt

+0

Diyelim ki, ona eklenmiş bir onClickListener içeren bir textView var. Eğer onu ortadan kaldırırsam ve üzerine basarsam olay hala ateşlenir mi? – ahitt6345

18

Eğer bu iyi yolu

LinearLayout lp=new LinearLayout(this); 
lp.addView(new Button(this)); 
lp.addView(new ImageButton(this)); 
//Now remove them 
lp.removeViewAt(0); // and so on 

olduğunu xml düzeni var sonra dynami eklemek gerek yok android kullanımda yeni bu şekilde size eğer hi

lp.removeViewAt(0); 
+0

için döküm ile aramak daha güzel Performans açısından farkı ne olacak? Dinamik olarak ekleyerek veya statik bir xml düzen dosyasına yerleştirme ve şişirilmesine izin verme performans farkı demek istedim? – zgulser

0

diyoruz o GİTTİ gitmiş yapmak için görünümünüzü uygulayın cally.just başka, ana görünümde tutmak ve gelen çocuğu kaldırmak, bir yoludur orada ..... başka veli düzenini almak ve bu yöntemi kullanmak bir kaldırma tüm alt parentView.remove ben gone yaklaşım kullanarak önermek ...

+1

GONE, görünümü etkili bir şekilde gizler ancak düzeni – Sababado

+1

'dan kaldırmaz parentView.remove (removeViewName); –

+0

Bunun hakkında haklısın, ama soruyu "GONE" çözümünü sağlayarak cevaplamadığınızı ima etmeye çalışıyordum. – Sababado

14

bir görünümü eklemek için olurdu

(çocuk) düzeni, addView beni kullanabilirsiniz ViewGroup sınıfının thod. Örneğin, bir çok çıkarma yöntemi de vardır. ViewGroup belgelerini kontrol edin.

predictbtn.setVisibility(View.INVISIBLE); 

çıkarmak için: Bir düzenden görünümünü kaldırmak için basit bir yol

layout.removeAllViews(); // then you will end up having a clean fresh layout 
+3

removeAllViews() benim aradığım şey! – Alan

+0

removeAllViews() benim için mükemmel çalışıyor, teşekkürler. – Aspicas

7

gibi görünürlük değiştirme için olabilir Sameer ve Abel Terefe dan

predictbtn.setVisibility(View.GONE); 
+0

Sorunumu çözdüm, diğer her cevaptan daha fazla. Benim gibi olursanız, arka planınız veya bazı parazitler görüntünün tamamen kaybolmasını engeller. – Virthuss

+1

, çünkü View.GONE düzen için görünümü kaldırmaz, yalnızca görünmez yapar ve mizanpaj için herhangi bir yer almaz. – Victor

1

Büyük anwser. Ancak, bir görünümü kaldırdığınızda, seçeneğimde belirli bir kimliğe sahip bir görünümü kaldırmak istersiniz. İşte bunu nasıl yapıyorsun?

_textView.setId(index); 

2, kimliğine sahip görünümünü kaldırmak: düzen

removeView(findViewById(index)); 
İlgili konular