Gå til innhold

Anbefalte innlegg

Hei.

 

Sitter og tukler med no android app greier og lager nå en meny (prøver i hvert fall). Eneste problemet er at menyen min vises som en ContextMenu.

 

public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater hwmeny= getMenuInflater();
hemeny.inflate(R.layout.menu, menu);
return true;
}

 

Eneste jeg har lagt til er den public booleanen vist ovenfor, en menu.xml med items og en public boolean for hvilken option som blir valgt.

 

Iht. andre kilder så samt google developer, så skal menyen min være vist som "vanlig" meny og ikke context menu... Kan ikke se noen kilder som mener det er nødvendig å legge noe inn i manifest heller?

 

Legger ikke ved XML eller onOptionItemSelected.

Vet ikke om flere har dette problemet? Menyen jeg setter opp er den vist til venstre, menyen jeg ønsker er slik som er vist til høyre.

 

failmenu.jpg

Endret av TobiasG
Lenke til kommentar
  • 1 måned senere...
Videoannonse
Annonse

Hei!

Tror problemet ditt ligger i xml filen din.

For det første er det alltid god praksis å ha en egen mappe med meny .xml filene. Er ikke sikker på om xml'en blir "parset" med henhold på plassering, men jeg har ihvertfall alltid gjort dette.

 

Slik at du kaller denne adressen istedenfor!: "R.menu.options_menu".

 

Er ikke sikker på hva du har gjort med xml filen, men denne her gir det ønskede resultatet for meg ivhertfall!

 

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/modes"
	  android:icon="@android:drawable/ic_menu_agenda"
	  android:title="Mode" />
	<item android:id="@+id/Connect"
	  android:icon="@android:drawable/ic_menu_agenda"
	  android:title="Connect" />	  
<item android:id="@+id/exit"
	  android:icon="@android:drawable/ic_menu_close_clear_cancel"
	  android:title="Exit" />
</menu>

 

Screenshot_2012-11-15-14-34-02.png?height=320&width=180

 

Lykke til!

Lenke til kommentar
  • 2 uker senere...

Heia.

 

Tak for tipset, ble akkurat det samme, tok i bruk din XML, fikk akkurat samme resultat. Lurte på om det kunne være noe med MenuInflater hwmeny= getMenuInflater(); Om det kanskje var en annen MenuInflater tilgjengelig? ANyway, har splittet opp og lagt menu i egen folder :D

Lenke til kommentar

Hei,

Bruker selv denne koden til å lage menyer:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
	MenuInflater inflater = getMenuInflater();

	 inflater.inflate(R.menu.options_menu, menu);	
	return true;
}

 

 

Ser ikke noen feil i koden din, bortsett fra en mulig skrivefeil i

 

	MenuInflater hwmeny= getMenuInflater();
	hemeny.inflate(R.layout.menu, menu);

 

Der du assigner menuinflater til hwmeny, men du kaller .inflate på hemeny.

Lenke til kommentar

Hei.

 

Sitter og tukler med no android app greier og lager nå en meny (prøver i hvert fall). Eneste problemet er at menyen min vises som en ContextMenu.

 

public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater hwmeny= getMenuInflater();
hemeny.inflate(R.layout.menu, menu);
return true;
}

 

Eneste jeg har lagt til er den public booleanen vist ovenfor, en menu.xml med items og en public boolean for hvilken option som blir valgt.

 

Iht. andre kilder så samt google developer, så skal menyen min være vist som "vanlig" meny og ikke context menu... Kan ikke se noen kilder som mener det er nødvendig å legge noe inn i manifest heller?

 

Legger ikke ved XML eller onOptionItemSelected.

Vet ikke om flere har dette problemet? Menyen jeg setter opp er den vist til venstre, menyen jeg ønsker er slik som er vist til høyre.

 

failmenu.jpg

 

Det er devicen som bestemmer hvordan den menyen blir rendret. På gamle telefoner (eldre enn Android 4.0) får du den menyen du ville ha, på nye devicer uten hardware-menyknapp får du en overflow-knapp helt til høyre i ActionBar og på nye devicer med hardware menu button (f.eks. Galaxy S3) så får du context meny i bunnen slik du har skjermbilde av. Det fungerer på denne måten slik at brukeren skal kjenne seg igjen på tvers av applikasjoner på samme telefon.

 

Anbefaler at du driter i Android < 4 og leser på developer.android.com, både tutorials og design guidelines :)

 

http://developer.android.com/design/patterns/actionbar.html

http://developer.android.com/guide/topics/ui/menus.html

http://developer.android.com/guide/topics/ui/actionbar.html

 

Lykke til!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...