Je suis en train de tester avec le composant Android ViewStub
. Je suis capable de gonfler un View
et de le remplacer par un nouveau, mais quand j'effectue un remplacement du View
existant par un nouveau, je suspecte que le destructeur n'est jamais appelé aux vieilles vues remplacées. Voici un exemple de code de ma logique:Android ViewStub gérer remplacer les vues intérieures
protected void testInflateReplaceViewStub(){
//case inflating a View...
View viewInflated = View.inflate(getContext(), R.layout.container_view, this); //container View
ViewStub viewStub = (ViewStub) findViewById(R.id.view_stub_impl); //view inside layout
viewStub.setLayoutResource(R.layout.container_view); //fill with some content
View viewStubInflated = viewStub.inflate();
//end inflating the first ViewStub
//case replacing above View by a new one...
viewStubInflated.invalidate(); //this should destroy old inner Views??
viewInflated = View.inflate(getContext(), R.layout.container_view, this);
viewStub.setLayoutResource(R.layout.new_content);//fill new content
viewStubInflated = viewStub.inflate();
//end replacing inflating
}
Je voudrais forcer la destruction de tous les vieux remplacé Views
.