Skocz do zawartości
vifus

"Dynamiczne" ustawianie ikonki

    Rekomendowane odpowiedzi

    vifus

    Witam, mam taki kod:

            String icon_status;
            if (urlList.get(position).transmition!=1) {
                icon_status = "off";
            }
    
    
    
            mapedValue.put("football", R.drawable.football+icon_status);
    

    w katalogu drawable mam zarówno ikonkę football jak i footballoff, może mi ktoś powiedzieć dlaczego to nie zadziała?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    R.drawable.football to nie jest String, nie możesz tam użyć +.
    powinieneś to zrobić w ten sposób: 

    this.getResources().getIdentifier("foodball" + icon_status, "drawable", this.getPackageName()))

    (jeśli używasz tego poza Activity, przed getPackageName() i getResources() dodaj getActivity(). )

    • Lubię to! 1

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    vifus

    Muszę mieć to koniecznie na mapowaniu zrobione, nie ma jakiejś innej opcji?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    To co dałem powyżej wstawiasz zamiast "R.drawable.football+icon_status".

    Możesz sobie to wstawić gdzie chcesz, do HashMapy, findViewById, czy wszędzie indziej.

    Po prostu R.drawable.footbal to Integer, i nie możesz go traktować jak String. Ta funkcja buduje ci taki Integer na podstawie przekazanych wartości. 
    Jeśli wstawisz zamiast 
    "foodball" + icon_status np "ciasteczko" to zbuduje ci R.drawable.ciasteczko, jak zamiast "drawable"  wstawisz "color", to zbuduje ci R.color.footballoff :)

    Edytowane przez Borys Stach

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x