Respostas:
Eu fiz assim:
((ViewManager)entry.getParent()).removeView(entry);
(ViewGroup):)
Use ViewStub e especifique o layout da visualização que deseja alternar. Ver:
mViewStub.setVisibility(View.VISIBLE) or mViewStub.inflate();
Para desaparecer:
mViewStub.setVisibility(View.GONE);
Este é o melhor jeito
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 você tiver um layout xml, não há necessidade de adicionar dinamicamente. Apenas chamar
lp.removeViewAt(0);
Para adicionar visualização a um layout, você pode usar o addViewmétodo da ViewGroupclasse. Por exemplo,
TextView view = new TextView(getActivity());
view.setText("Hello World");
ViewGroup Layout = (LinearLayout) getActivity().findViewById(R.id.my_layout);
layout.addView(view);
Existem também vários métodos de remoção. Verifique a documentação do ViewGroup . Uma maneira simples de remover a visualização de um layout pode ser,
layout.removeAllViews(); // then you will end up having a clean fresh layout
Para alterar a visibilidade:
predictbtn.setVisibility(View.INVISIBLE);
Para remover:
predictbtn.setVisibility(View.GONE);
Grande resposta de Sameer e Abel Terefe. No entanto, quando você remove uma visão, na minha opção, você deseja remover uma visão com determinado id. Aqui está como você faz isso.
1, forneça um id à visualização ao criá-la:
_textView.setId(index);
2, remova a visualização com o id:
removeView(findViewById(index));
você pode usar addView ou removeView
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)
oi se você é novo no Android, use desta forma Aplique sua visão para fazê-lo desaparecer É uma maneira, caso contrário, pegue a visão pai e remova o filho de lá ... senão pegue o layout pai e use isso método e remove todos os filhos parentView.remove (child)
Eu sugeriria usar a abordagem GONE ...
Estou removendo a visualização usando o método de início e contagem, adicionei 3 visualizações no Layout linear.
view.removeViews (0, 3);
Adicione esta extensão:
myView.removeSelf()
fun View?.removeSelf() {
this ?: return
val parent = parent as? ViewGroup ?: return
parent.removeView(this)
}
Aqui estão algumas opções:
// 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)
}