Autore Topic: OptionsMenu start Activity  (Letto 778 volte)

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
OptionsMenu start Activity
« il: 07 Febbraio 2014, 00:18:03 CET »
0
ciao a tutti stò cercando di avviare una activity dal OptionsMenu, ma non viene avviata, perchè?sembra che il case R.id.main: non venga visto..grazie
Codice (Java): [Seleziona]
@Override
        public boolean onCreateOptionsMenu(Menu menu) {
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                //toggle nav drawer on selecting action bar app icon/title
                if (mDrawerToggle.onOptionsItemSelected(item)) {
                        return true;
                }
                // Handle action bar actions click
                switch (item.getItemId()) {
                case R.id.action_settings:
                        return true;
                case R.id.main:
                        Intent intent = null;
                        intent = new Intent(MainActivity.this, Impostazioni.class);
                        this.startActivity(intent);
                        return true;
                       
                default:
                        return super.onOptionsItemSelected(item);
                }
               
               
        }

Offline CrotaNexus

  • Utente normale
  • ***
  • Post: 156
  • Vuolsi così colà dove si puote ciò che si vuole
  • Respect: +25
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    SimoneDev
  • Sistema operativo:
    Windows 8.1
Re:OptionsMenu start Activity
« Risposta #1 il: 07 Febbraio 2014, 06:00:09 CET »
0
Hai provato a mettere dei Log per vedere se arriva a quella parte di codice? Altrimenti prova così
Codice (Java): [Seleziona]
 
startActivity(new Intent(getApplicationContext(), Activity.class));


Inviato dal mio Galaxy Nexus con Tapatalk 2

SimoneDev @ Google Play Store

Offline Reinhard

  • Utente junior
  • **
  • Post: 85
  • Respect: +16
    • Google+
    • rspisser
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5 Lollipop 5.1
  • Play Store ID:
    rspisser
  • Sistema operativo:
    Windows 7
Re:OptionsMenu start Activity
« Risposta #2 il: 07 Febbraio 2014, 09:24:35 CET »
0
ciao,

arriva fino allo switch?

cosa fa il pezzo di codice?
Codice (Java): [Seleziona]
if (mDrawerToggle.onOptionsItemSelected(item)) {
                        return true;
                }

ho visto che restituisce true - in questo caso il metodo termina qui.

Offline CrotaNexus

  • Utente normale
  • ***
  • Post: 156
  • Vuolsi così colà dove si puote ciò che si vuole
  • Respect: +25
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    SimoneDev
  • Sistema operativo:
    Windows 8.1
Re:OptionsMenu start Activity
« Risposta #3 il: 07 Febbraio 2014, 09:49:46 CET »
0
ciao,

arriva fino allo switch?
E lo chiedi a me?  :D Scherzo.. Devi verificare con i Log.d() per vedere se effettivamente entra nello switch.
Citazione
cosa fa il pezzo di codice?
Codice (Java): [Seleziona]
if (mDrawerToggle.onOptionsItemSelected(item)) {
                        return true;
                }

ho visto che restituisce true - in questo caso il metodo termina qui.
Sì, restituisce true, come appunto dice il codice. Vedendo mDrawerToggle immagino che tu stia lavorando con il NavigationDrawer, o no? In questo caso il metodo booleano onOptionsItemSelected non termina lì, nell'if, perchè dopo hai lo switch-case che appunto switcha in base all'id dell'item.
SimoneDev @ Google Play Store

Offline Reinhard

  • Utente junior
  • **
  • Post: 85
  • Respect: +16
    • Google+
    • rspisser
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5 Lollipop 5.1
  • Play Store ID:
    rspisser
  • Sistema operativo:
    Windows 7
Re:OptionsMenu start Activity
« Risposta #4 il: 07 Febbraio 2014, 10:14:26 CET »
0
come dice la documentazione:

boolean Return false to allow normal menu processing to proceed, true to consume it here.

se restituisce true, non arriva allo switch

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Re:OptionsMenu start Activity
« Risposta #5 il: 07 Febbraio 2014, 15:53:26 CET »
0
Grazie, ho risolto ;-)

Offline CrotaNexus

  • Utente normale
  • ***
  • Post: 156
  • Vuolsi così colà dove si puote ciò che si vuole
  • Respect: +25
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    SimoneDev
  • Sistema operativo:
    Windows 8.1
Re:OptionsMenu start Activity
« Risposta #6 il: 07 Febbraio 2014, 16:09:58 CET »
+1
Se vuoi, dicci come hai risolto.. Magari può essere utile in futuro a qualcuno. :)

Inviato dal mio Galaxy Nexus con Tapatalk 2

SimoneDev @ Google Play Store

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Re:OptionsMenu start Activity
« Risposta #7 il: 07 Febbraio 2014, 16:18:37 CET »
0
non ho scritto nulla perchè ho semplicemente cambiato strategia.
Apro l'activity dalla ListView del NavigationDrawer ed ho quindi disabilitato l'utilizzo del tasto fisico menù, mettendo a false l'OptionsMenu.
Grazie alla prossima