Jak dynamicznie zmieniać layouty we Fragmencie.

0

Witajcie,
chcę dynamicznie podmieniać layout we Fragmencie ( layout w załączniku). Fragment z tekstem ma swój layout fragment_1 z racji, że cały kod tekstu jest we Fragment1.java. Natomiast dla obrazka stworzyłem osobny plik xml (który nie mam stworzonej klasy.java więc i też chyba nie ma nadanego layoutu) . I żeby dynamicznie zmieniać layouty raz tekst raz obrazek itd. kombinuje z layoutInflater. Marnie mi to wychodzi. Umieściłem te trzy błędy w komentarzach przy kodzie.

  if(mapImage){
            view = inflater.inflate(R.layout., null);        //jaki tu wpisać layout? mam tylko  plik xml.
            imageView = view.findViewById(R.id.map_images);  //Type parameter T has incompatible upper bounds: View and Integer
            imageView.setImage(mapImage);                    //metoda `setImage` jest nieprawidłowa

        }else{
            view = inflater.inflate(R.layout.fragment_1);
            
        }
0

mozesz zrobic sobie np. tekst i zdjecie w tym samym xml i ustawiac tylko visibility na Gone/Visible

a jezeli chodzi o takie rozwiazanie o jakie pytasz, to nadaj id glownego elementu w xml i nazwij np. root
wez do niego zdefiniuj referencje we fragmencie.

i jak chcesz zmienic widok to zrob removeAllChildrens czy removeAllViews (nie pamietam nazwy metody), zrob inflate tego co chcesz dodac i na rootView zrob addView

nie pamietam nazw metod jak nie ogarniesz sam to pozniej sprawdze

0
ImageView imageView;
TextView textView;
View view;
if(mapImage){
            view = inflater.inflate(R.layout.nazwa_pliku.xml, null);   
            imageView = (ImageView) view.findViewById(R.id.map_images);
            imageView.setImage(mapImage);

        }else{
            view = inflater.inflate(R.layout.fragment_1);
            textView = (TextView) view.findViewById(R.id.jakis_text);
            textView.setText("Moj string");
        }

1 użytkowników online, w tym zalogowanych: 0, gości: 1