Hjälp: konstig bugg i egenskriven actionbar

Diskussion i 'Frågor, support och diskussion' startad av coredev, 9 jan 2013.

  1. coredev

    coredev Youth Droid Medlem

    Blev medlem:
    24 feb 2010
    Inlägg:
    135
    Mottagna gillanden:
    2

    MINA ENHETER

    Hej där,

    Jag har skrivit en egen actionbar till min app och vanligtvis så fungerar den alldeles utmärkt:
    http://i.imgur.com/GVyMf.png

    Men om appen har legat vilande (man har använt andra appar och byter sedan tillbaka till min app) så blir det ibland jättekonstigt:
    http://i.imgur.com/Svw1O.png

    Det är som att paddingen och vissa bilder försvinner. Detta inträffar om det är någon annan activity som kör förutom min main-activity. Då blir alltid allt normalt. Om jag går tillbaka till tidigare activitys i flödet via tillbaka-pilen så kvarstår buggen förutom när jag kommit tillbaka till min main-activity.

    Jag bygger upp min actionbar i koden (ej xml). Felet visar sig på min Samsung Glaxy S3. Tror även att det blir samma på andra telefoner, men lite osäker där.

    Har någon sett något liknande? :P
     
  2. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 aug 2009
    Inlägg:
    2 114
    Mottagna gillanden:
    123

    MINA ENHETER

    Skulle gissa på att du gör fel ;) Och utan kod att titta på så tror jag ingen kan hjälpa dig.

    Varför har du skrivit en egen ActionBar över huvuvdtaget?
     
  3. coredev

    coredev Youth Droid Medlem

    Blev medlem:
    24 feb 2010
    Inlägg:
    135
    Mottagna gillanden:
    2

    MINA ENHETER

    Hehe ja så mycket kunde jag räkna ut ;)
    Här kommer koden: http://pastebin.com/raw.php?i=QeqEUS4u
    Please, be gentle! :)

    Vill stödja pre 4.0-telefoner. Finns det något bra lib som gör detta så byter jag gärna.
     
  4. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 aug 2009
    Inlägg:
    2 114
    Mottagna gillanden:
    123

    MINA ENHETER

  5. coredev

    coredev Youth Droid Medlem

    Blev medlem:
    24 feb 2010
    Inlägg:
    135
    Mottagna gillanden:
    2

    MINA ENHETER

    Tack, jag kikade på den men läste det som att den inte fungerar på pre 4.0. Nu läste jag igen och såg att jag förstått fel - den fungerar men den använder bara inte native-actionbaren. :) Jag kommer förmodligen testa den.

    Såg du något fel i min vackra kod?
     
  6. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 aug 2009
    Inlägg:
    2 114
    Mottagna gillanden:
    123

    MINA ENHETER

    Hinner inte titta på det just nu. :)
     
  7. coredev

    coredev Youth Droid Medlem

    Blev medlem:
    24 feb 2010
    Inlägg:
    135
    Mottagna gillanden:
    2

    MINA ENHETER

    Det är lungt, du kan ta det över lunchen ;)
     
  8. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 okt 2009
    Inlägg:
    2 350
    Mottagna gillanden:
    833
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Hur ser koden ut som lägger till din actionbar? I vilka metoder anropar du den koden?
    Står det något i LogCat när felet inträffar?
     
  9. coredev

    coredev Youth Droid Medlem

    Blev medlem:
    24 feb 2010
    Inlägg:
    135
    Mottagna gillanden:
    2

    MINA ENHETER

    Den skapas alltid via XML:en för varje activity. XMLen läses sedan in via setContentViewpå OnCreate:en i activityn. Typlist en vertikal LinearLayout med actionbaren först, exempel:
    HTML:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    	xmlns:android="http://schemas.android.com/apk/res/android"
    	xmlns:custom="http://schemas.android.com/apk/res/XXX.XXX.XXX"
    	android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="0dp"
    >
     
        <!-- Create Action Bar -->
    	<XXX.XXX.XXActionBarControl
    	    android:id="@+id/item_actionbar"
    	    custom:showBackButton="true"
    	    custom:showAjaxLoader="false"
    	    android:layout_width="fill_parent"
    	    android:layout_height="48dp"
    	/>
    ...
    
    
    Har inte lyckats återupprepa i emulatorn (och på grund av min virituella utvecklingsmiljö så kan jag idag inte debugga direkt på telefonen) så vet inte riktigt ang. LogCat :-/

    Tacksam för er hjälp! :)
     
    Last edited: 10 jan 2013
  10. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 okt 2009
    Inlägg:
    2 350
    Mottagna gillanden:
    833
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Eftersom den ritar ut delar av actionbaren så anropas den ju korrekt när aktiviteten återskapas, men något blir fel.
    Kolla om det kastas något exception genom att lägga in en catch(Throwable t) med en Toast av t.getMessage() i din try-finally-sats.