Autore Topic: item menu non visibile nell'action bar  (Letto 860 volte)

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
item menu non visibile nell'action bar
« il: 14 Settembre 2014, 19:06:13 CEST »
0
Buonasera a tutti, sto cercando di portare un progetto nato su eclipse su android studio. Il problema sta nel menu, ho riportato il codice tale e quale a quello che c'era su eclipse (dove tutto funzionava). Quando si crea un item di un menu e non viene assegnata un'icona l'item finisce in una "lista" dove è presente solo il titolo di ciascun item, mentre se si assegna un'icona viene mostrata nell'actionbar, dico bene? Ecco il mio problema è che finisce in questa lista piuttosto che nell'actionbar nonostante io gli assegni un'icona. Vi scrivo parti del codice così potete controllare voi stessi:

Codice: [Seleziona]
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
        MenuItem item = menu.findItem(R.id.contatti);
        item.setVisible(true);
        item = menu.findItem(R.id.action_delete); // item con cui ho problemi
        item.setVisible(true);
        return super.onPrepareOptionsMenu(menu);
    }

Codice: [Seleziona]
<item
        android:id="@+id/action_delete"
        android:icon="@drawable/ic_action_remove"
        android:title="@string/cancellaCampi"
        android:showAsAction="ifRoom"/>

Ma il bello è che in un'altra activity mi mostra correttamente nell'action bar l'icona nonostante sia tutto dichiarato allo stesso modo

Codice: [Seleziona]
<item
        android:id="@+id/action_call"
        android:icon="@drawable/ic_action_call"
        android:title="@string/chiama"
        android:showAsAction="ifRoom"
        android:visible="false"/>
Se ti sono stato d'aiuto premi il tasto THANKS :)

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:item menu non visibile nell'action bar
« Risposta #1 il: 15 Settembre 2014, 08:59:59 CEST »
0
Ecco il mio problema è che finisce in questa lista piuttosto che nell'actionbar nonostante io gli assegni un'icona. Vi scrivo parti del codice così potete controllare voi stessi:

Codice: [Seleziona]
        android:showAsAction="ifRoom"/>

Se non c'è spazio, finisce nell'overflow menu.

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
Re:item menu non visibile nell'action bar
« Risposta #2 il: 15 Settembre 2014, 18:21:43 CEST »
0
Se non c'è spazio, finisce nell'overflow menu.

Ebbene sì questo lo so, ma di spazio ce n'è parecchio, ti dico solo una cosa, in un altra activity ci sono 3 action bar buttons, in questa ce n'è solo uno e non me lo fa vedere...
Se ti sono stato d'aiuto premi il tasto THANKS :)

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:item menu non visibile nell'action bar
« Risposta #3 il: 18 Settembre 2014, 23:23:04 CEST »
0
Scusa come mai richiami onPrepareOptionsMenu due volte?

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
Re:item menu non visibile nell'action bar
« Risposta #4 il: 20 Settembre 2014, 17:22:59 CEST »
0
Scusa come mai richiami onPrepareOptionsMenu due volte?

Come due volte? Io ne conto una e basta... dimmi dov'è l'errore per piacere :)
Se ti sono stato d'aiuto premi il tasto THANKS :)

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:item menu non visibile nell'action bar
« Risposta #5 il: 22 Settembre 2014, 09:23:42 CEST »
+1
Come due volte? Io ne conto una e basta... dimmi dov'è l'errore per piacere :)

Beh, subito dopo la firma del metodo, la prima istruzione è super.onPrepareOptionsMenu(menu); ... poi fai le tue operazioni e alla fine return super.onPrepareOptionsMenu(menu);

Stai richiamando la stessa cosa, e in teoria dovresti farlo solo alla fine, nel return.

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
Re:item menu non visibile nell'action bar
« Risposta #6 il: 22 Settembre 2014, 17:50:59 CEST »
0
Beh, subito dopo la firma del metodo, la prima istruzione è super.onPrepareOptionsMenu(menu); ... poi fai le tue operazioni e alla fine return super.onPrepareOptionsMenu(menu);

Stai richiamando la stessa cosa, e in teoria dovresti farlo solo alla fine, nel return.

Grazie della risposta, ho corretto questa linea, ma purtroppo l'errore persiste, potrebbe essere dovuto a un bug del compilatore di android studio? Perchè nella preview dei munu dell'ide me lo mostra correttamente :)
Se ti sono stato d'aiuto premi il tasto THANKS :)

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:item menu non visibile nell'action bar
« Risposta #7 il: 22 Settembre 2014, 23:41:57 CEST »
0
Uhm, hai già provato ad impostare l'attributo orderInCategory al menuitem?

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
Re:item menu non visibile nell'action bar
« Risposta #8 il: 23 Settembre 2014, 19:48:19 CEST »
0
Uhm, hai già provato ad impostare l'attributo orderInCategory al menuitem?

Ho provato, ma non funziona :'(
Se ti sono stato d'aiuto premi il tasto THANKS :)

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:item menu non visibile nell'action bar
« Risposta #9 il: 23 Settembre 2014, 23:40:44 CEST »
0
Ho provato, ma non funziona :'(
Altra cosa: invece che riassegnare l'oggetto menuitem, hai provato a dichiararne uno nuovo?

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
Re:item menu non visibile nell'action bar
« Risposta #10 il: 28 Settembre 2014, 13:37:33 CEST »
0
Altra cosa: invece che riassegnare l'oggetto menuitem, hai provato a dichiararne uno nuovo?

Già provato, non funziona, pensavo magari fosse un problema dell'icona, così ho provato a metterne un'altra ma non me la fa vedere, mi fa vedere il menu se però lo mostro in un activity che non sia quella di apertura (android.intent.category.LAUNCHER), com'è possibile questa cosa? :(
Se ti sono stato d'aiuto premi il tasto THANKS :)

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
Re:item menu non visibile nell'action bar
« Risposta #11 il: 02 Ottobre 2014, 19:36:39 CEST »
0
Ok ho risolto finalmente, grazie a questo stesso mio problema: java - Android Studio 0.5.7 wont show buttons in action bar - Stack Overflow ho risolto...

In parole povere, quando si utilizzano le librerie appcompat bisogna dire due volte di mostrare il bottone nella action bar quindi due volte showasaction:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/testmeniitem"
        android:title="Test Menu Item"
        android:showAsAction="always"
        app:showAsAction="always"
        android:icon="@drawable/ic_launcher"
        />
</menu>

almeno io ho capito così, comunque sia ho risolto, grazie comunque :)
Se ti sono stato d'aiuto premi il tasto THANKS :)