Problem: Visa information från variabel i annan activity?

Diskussion i 'Frågor, support och diskussion' startad av Telnet, 17 nov 2020.

  1. Telnet

    Telnet Infant Droid Medlem

    Blev medlem:
    17 nov 2020
    Inlägg:
    3
    Mottagna gillanden:
    2
    Hej,

    Väldigt ny när det kommer till apputveckling, eller programmering i största allmänhet för den delen, så om jag uttrycker mig märkligt eller rentav felaktigt välkomnar jag rättelser.

    Läser en kurs där jag fått i uppgift att skapa ett enkelt spel, vilket jag lyckats göra, med hjälp av diverse YouTube-videor, developer.android.com-sidor, stackoverflow-trådar, etc.

    En av kraven är dock att jag även ska skapa en separat activity, nåbar från menyn, där man kan se sin poäng.

    Problemet är att när jag försöker använda mig av den variabel jag skapat för poängen i min "ScoreActivity" får jag felmeddelandet "Cannot resolve symbol score."

    Jag har alltså redan en variabel för "score", som är deklarerad som "private int" i den activity som managerar själva spelet.
    Har både provat att ta bort "private", och byta ut det mot public, men det verkar inte ha någon effekt.

    Den rad där jag försöker "hänvisa tilll" variabeln är:
    scoreCounter.setText("Poäng: " + score);

    Misstänker att jag missförstått något här.
    Ser inte att detta är en fråga som ställts förut, men är det så vill jag gärna veta var jag kan hitta informationen.
    Har inte riktigt fått grepp om hur bäst jag söker upp svar på sådana här frågor ännu.

    Tacksam om någon kan ge mig något tips. :)
     
  2. N6290

    N6290 Professional Droid Medlem

    Blev medlem:
    12 sept 2012
    Inlägg:
    3 391
    Mottagna gillanden:
    1 739

    MINA ENHETER

    Jag kan absolut ingenting om programmering, men jag har hört att ibland kan fel uppstå i kod därför att man använder symbolen " istället för ' och tvärtom. Dvs fel slags fjuttar.
    Inget sånt enkelt som kan lösa det? :)
    Lycka till, hoppas någon mer svarar!
     
    Telnet gillar detta.
  3. Zooklubba

    Zooklubba Android Medlem

    Blev medlem:
    10 jul 2010
    Inlägg:
    6 394
    Mottagna gillanden:
    2 134

    MINA ENHETER

    Du kan inte referera till en variabel på det sättet.

    Behöver du bara skicka informationen en gång så kan du skicka det som extras i ett bundle i Intentet du använder för att starta den andra aktiviteten.

    En annan möjlighet är att ha variabeln i application Singleton.

    En tredje är att spara ned den till tex Shared preferences
     
    RuffyMan, Telnet och Albin N7 gillar detta.
  4. Telnet

    Telnet Infant Droid Medlem

    Blev medlem:
    17 nov 2020
    Inlägg:
    3
    Mottagna gillanden:
    2
    Tack för svaren!
    Jag försökte få till det med både Shared preferences och skicka den som en en extra, men förstod inte riktigt hur jag skulle applicera det på min egen kod.

    Någonting jag dock fick det att funka med var genom att deklarera variabeln som
    public static int score;

    Sedan angav jag i ScoreActivity
    scoreCounter.setText("Poäng: " + Game.score);

    Nu visas poängen i rätt aktivitet efter ett avslutat spel.
    Sedan att det inte sparas mellan sessioner eller spel är en annan femma, men det var inget krav här heller.
     
    RuffyMan gillar detta.
  5. Zooklubba

    Zooklubba Android Medlem

    Blev medlem:
    10 jul 2010
    Inlägg:
    6 394
    Mottagna gillanden:
    2 134

    MINA ENHETER

    Om der bara är för ditt egna nöjes skull så kör på. Men ska någon betygsätta eller liknande är det nog bäst att lägga den int:en i Application contextet. (Blabla extends Application och sedan en rad kod i manifestet)

    Finns möjlighet att din första aktivitet dödas så du inte har den variabeln när du vill om jag förstår ditt upplägg rätt.

    Men om det fungerar så kör på.
     
    Last edited: 18 nov 2020
    Telnet gillar detta.
  6. Telnet

    Telnet Infant Droid Medlem

    Blev medlem:
    17 nov 2020
    Inlägg:
    3
    Mottagna gillanden:
    2
    Tack för tipset, jag ska kolla upp Application context.

    Detta är dock på en rätt basic nivå, och kriterierna är specifika. Så länge jag visar poängen i rätt activity så uppfyller jag det kriteriet. När jag har testat nu har det sparats utan problem, vilket jag gissar beror på att det är en så pass liten app.

    Men jag ska ha det i åtanke för framtida appar! :)
     
    RuffyMan gillar detta.