Jak wymienić view programowo w Android? [kopia]

to pytanie jest już odpowiedź tutaj:

mam wyrafinowany wygląd, który zawiera kilka podgatunków, takich jak wiadomości tekstowe, przedstawienia i prezentacji zdjęć. Chciałbym wymienić jeden z widoków zdjęcia innych (pochodne) przedstawienie obrazu (inne wsparcie pobieranie obrazów w tle).

jak mogę zastąpić oryginalny wygląd obrazu na nowy?

rozwiązanie, które mam obecnie, po prostu kopiuje urzeczywistnienie całego układu XML i wykonuje wymianę w nowym XML - bardzo źle powielać i nie używać rzeczy :(


nie Jestem pewien, że rozumiem, co mówisz, ale jeśli chcesz po prostu usunąć jeden egzemplarz widoku układu i wymienić go na inny, możesz korzystać z taka klasa użyteczności:

import android.view.View;
import android.view.ViewGroup;

public class ViewGroupUtils {

    public static ViewGroup getParent(View view) {
        return (ViewGroup)view.getParent();
    }

    public static void removeView(View view) {
        ViewGroup parent = getParent(view);
        if(parent != null) {
            parent.removeView(view);
        }
    }

    public static void replaceView(View currentView, View newView) {
        ViewGroup parent = getParent(currentView);
        if(parent == null) {
            return;
        }
        final int index = parent.indexOfChild(currentView);
        removeView(currentView);
        removeView(newView);
        parent.addView(newView, index);
    }
}

kolejne pytanie: Co masz na myśli, kiedy mówisz "bardzo źle powielać i nie używać"? Wiesz o włącz tag?