Wpis z mikrobloga

#java #programowanie

Mam problem,chcę wyświetlić w TextView wartość która jest obliczana w Serwisie,jednakże

you cannot directly make changes in ui inside a service instead use broadcast receiver and intent filter to notify your activity/fragment and update from there

Tak to wygląda u mnie:
W tym textView jest zliczana ilość kroków,i chciałbym,aby aplikacja działała w tle,stąd serwis. Jednakże findViewbyId nie działa,i nie mogę wyświetlić ilości kroków,tak wygląda mój kod,pomożecie?

Problem jest opisany też tu,ale poległem:
https://stackoverflow.com/questions/38518648/not-able-to-use-findviewbyid-in-service

Klasa serwisu
https://pastebin.com/H0y8tXTB
Main:
https://pastebin.com/CZBWgVUP
y.....8 - #java #programowanie 

Mam problem,chcę wyświetlić w TextView wartość któ...

źródło: comment_1596965760jG64zPgT0glJ4hj8sDfQNw.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Głowy nie dam, ale to zdaje się w androidzie jeśli nie robisz findViewById w głównej metodzie, to musisz się odwołać do kontekstu, zazwyczaj jakiegoś view, przykłąd oparty o podpinanie jakeigoś tam przycisku:

private void setupDebugOptions(View view) {
view.findViewById(R.id.buttongosomwhere).setOnClickListener(new View.OnClickListener() {
@Override
public void
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@yras8: Serwis ma działać w tle a activity odpowiada za wyświetlanie informacji. Musisz trzymać dane w serwisie, a w activity je wyciągać i wyświetlać. Komunikacja między serwisem a activity może być realizowana na kilka sposobów (w zależności od potrzeb). Polecam Google'a, od siebie dodam, że warto poczytać o eventbusie jako sposobie komunikacji między serwisem a activity
  • Odpowiedz