Skocz do zawartości
SkubiXTX

resetowanie się widgetu po zmianie orientacji

    Rekomendowane odpowiedzi

    Witam

    Mam taki problem zrobiłem sobie widget z pogodą i wszytko jest ok dopóki nie zmieni się orientacja ekranu lub launcher się zresetuje lub wywali, jak można zrobić widget zachowywał swoją zawartość

    przykład

    widget1.jpg

    wszytko jest ok

    widget2.jpg

    a po zmianie orientacji wszytko się zresetowało do wyglądu domyślnego

    Udostępnij tę odpowiedź


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

    Fajna tapeta.

    Po zmianie orientacji activity jest niszczona i tworzona od nowa (w tym przypadku home screen). Twój widget nie zapisuje sobie nigdzie ustawień i nie wczytuje ich przy tworzeniu.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Zobacz SharedPreferences, tak bedzie najlatwiej.

    Z tego co widzę to "SharedPreferences" odnoszą się do activity i nigdzie nie ma wzmianki o widgetach

    Udostępnij tę odpowiedź


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

    Bez problemu mozesz skorzystac z tego w widzecie.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Bez problemu mozesz skorzystac z tego w widzecie.

    Dobra, to tego użyć w widgecie, bo kompletnie nie wiem jak wykryć zmianę orientacji.

    Udostępnij tę odpowiedź


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

    Nie masz wykrywać zmiany orientacji, masz wykryć ładowanie widgetu.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    nie wykrywasz zmian płożenia, w momencie zmiany położenia Widget otrzyma Intent czyli zostanie wykonane onReceive w klasie Widgeta wtedy sprawdzasz czy jest coś zapisane jeżeli tak to na podstawie tych danych odświeżasz Widgeta

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    nie wykrywasz zmian płożenia, w momencie zmiany położenia Widget otrzyma Intent czyli zostanie wykonane onReceive w klasie Widgeta wtedy sprawdzasz czy jest coś zapisane jeżeli tak to na podstawie tych danych odświeżasz Widgeta

    Jak ten intent się zwie bo "android.appwidget.action.APPWIDGET_UPDATE" jest wywoływane przy dodawaniu kolejnego widgeta

    mały przykład byłby pomocny.

    zrobiłem wyświetlanie w logu funkcji "intent.getAction()" i podczas zmiany orientacji żaden intent nie przychodzi.

    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