Bir düzene nasıl görünüm ekleyip silebilirim?
Yanıtlar:
Ben de öyle yaptım:
((ViewManager)entry.getParent()).removeView(entry);
(ViewGroup):)
ViewStub'ı kullanın ve geçiş yapmak istediğiniz görünümün düzenini belirtin. Görüntülemek için:
mViewStub.setVisibility(View.VISIBLE) or mViewStub.inflate();
Kaybolmak:
mViewStub.setVisibility(View.GONE);
Bu en iyi yol
LinearLayout lp = new LinearLayout(this);
lp.addView(new Button(this));
lp.addView(new ImageButton(this));
// Now remove them
lp.removeViewAt(0); // and so on
XML düzeniniz varsa dinamik olarak eklemenize gerek yoktur. Sadece arayın
lp.removeViewAt(0);
Bir düzene görünüm eklemek addViewiçin ViewGroupsınıfın yöntemini kullanabilirsiniz . Örneğin,
TextView view = new TextView(getActivity());
view.setText("Hello World");
ViewGroup Layout = (LinearLayout) getActivity().findViewById(R.id.my_layout);
layout.addView(view);
Ayrıca bir dizi kaldırma yöntemi vardır. ViewGroup belgelerine bakın . Bir düzenden görünümü kaldırmanın basit bir yolu şunun gibi olabilir:
layout.removeAllViews(); // then you will end up having a clean fresh layout
Görünürlüğü değiştirmek için:
predictbtn.setVisibility(View.INVISIBLE);
Kaldırmak için:
predictbtn.setVisibility(View.GONE);
Sameer ve Abel Terefe'den büyük cevaplayıcı. Ancak, bir görünümü kaldırdığınızda, benim seçeneğimde, belirli kimliğe sahip bir görünümü kaldırmak istiyorsunuz. İşte bunu nasıl yaparsınız.
1, görünümü oluştururken görünüme bir kimlik verin:
_textView.setId(index);
2, şu kimliğe sahip görünümü kaldırın:
removeView(findViewById(index));
addView veya removeView kullanabilirsiniz
java:
// Root Layout
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setGravity(Gravity.CENTER);
linearLayout.setOrientation(LinearLayout.VERTICAL);
// TextView
TextView textView = new TextView(context);
textView.setText("Sample");
// Add TextView in LinearLayout
linearLayout.addView(textView);
// Remove TextView from LinearLayout
linearLayout.removeView(textView);
kotlin:
// Root Layout
val linearLayout = LinearLayout(context)
linearLayout.gravity = Gravity.CENTER
linearLayout.orientation = LinearLayout.VERTICAL
// TextView
val textView = TextView(context)
textView.text = "Sample"
// Add TextView in LinearLayout
linearLayout.addView(textView)
// Remove TextView from LinearLayout
linearLayout.removeView(textView)
merhaba, android'de yeniyseniz bu şekilde kullanın Görünümü uygulayın GİTTİLDİ bir yoldur, aksi takdirde ebeveyn görünümünü elde edin ve çocuğu oradan kaldırın ..... aksi takdirde ebeveyn düzenini alın ve bunu kullanın yöntem ve tüm alt parentView.remove (alt) kaldırmak
GONE yaklaşımını kullanmanızı öneririm ...
Başla ve say Yöntemini kullanarak görünümü kaldırıyorum, doğrusal Düzende 3 görünüm ekledim.
view.removeViews (0, 3);
Bu uzantıyı ekleyin:
myView.removeSelf()
fun View?.removeSelf() {
this ?: return
val parent = parent as? ViewGroup ?: return
parent.removeView(this)
}
İşte birkaç seçenek:
// Built-in
myViewGroup.addView(myView)
// Null-safe extension
fun ViewGroup?.addView(view: View?) {
this ?: return
view ?: return
addView(view)
}
// Reverse addition
myView.addTo(myViewGroup)
fun View?.addTo(parent: ViewGroup?) {
this ?: return
parent ?: return
parent.addView(this)
}