Risposte:
L'ho fatto così:
((ViewManager)entry.getParent()).removeView(entry);
(ViewGroup):)
Utilizzare ViewStub e specificare il layout della visualizzazione che si desidera attivare. Vedere:
mViewStub.setVisibility(View.VISIBLE) or mViewStub.inflate();
Scomparire:
mViewStub.setVisibility(View.GONE);
Questo è il modo migliore
LinearLayout lp = new LinearLayout(this);
lp.addView(new Button(this));
lp.addView(new ImageButton(this));
// Now remove them
lp.removeViewAt(0); // and so on
Se si dispone di un layout xml, non è necessario aggiungere dinamically.just call
lp.removeViewAt(0);
Per aggiungere una vista a un layout, puoi usare il addViewmetodo della ViewGroupclasse. Per esempio,
TextView view = new TextView(getActivity());
view.setText("Hello World");
ViewGroup Layout = (LinearLayout) getActivity().findViewById(R.id.my_layout);
layout.addView(view);
Esistono anche diversi metodi di rimozione. Controlla la documentazione di ViewGroup . Un modo semplice per rimuovere la visualizzazione da un layout può essere come,
layout.removeAllViews(); // then you will end up having a clean fresh layout
Per modificare la visibilità:
predictbtn.setVisibility(View.INVISIBLE);
Per rimuovere:
predictbtn.setVisibility(View.GONE);
Ottima risposta da Sameer e Abel Terefe. Tuttavia, quando rimuovi una vista, a mia scelta, vuoi rimuovere una vista con un certo ID. Ecco come puoi farlo.
1, assegna un ID alla vista quando la crei:
_textView.setId(index);
2, rimuovi la vista con l'ID:
removeView(findViewById(index));
puoi usare addView o removeView
Giava:
// 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)
ciao se sei nuovo in Android usa in questo modo Applica la tua vista per farla sparire GONE è un modo, altrimenti prendi possesso della vista genitore e rimuovi il bambino da lì ..... altrimenti prendi il layout genitore e usa questo metodo e rimuove tutto il figlio parentView.remove (figlio)
Suggerirei di utilizzare l'approccio GONE ...
Sto rimuovendo la vista utilizzando il metodo di avvio e conteggio, ho aggiunto 3 viste nel layout lineare.
view.removeViews (0, 3);
Aggiungi questa estensione:
myView.removeSelf()
fun View?.removeSelf() {
this ?: return
val parent = parent as? ViewGroup ?: return
parent.removeView(this)
}
Ecco alcune opzioni:
// 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)
}