Autore Topic: Errore su menù  (Letto 796 volte)

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Errore su menù
« il: 04 Gennaio 2012, 12:22:54 CET »
0
Ciao a tutti non riesco a capire il tipo di errore del listato sotto:

-----
Codice (Java): [Seleziona]
package it.tuttoilmondo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.app.AlertDialog;
import android.content.DialogInterface;

public class Padova_WebCamActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //Allert Dialog iniziale
        AlertDialog.Builder miaAlert = new AlertDialog.Builder(this);
        miaAlert.setTitle("Attenzione");
        miaAlert.setMessage("Attenzione questa applicazione per funzionare ha bisogno di un collegamento ad internet. Se non hai un abbonamento che ti permette di navigare ad un costo per te accetabile, non usare questa applicazione. Questa applicazione usa immagini e WebCam prese da altri siti internet. Immagini e video sono dei rispettivi proprietari. Attenzione le WebCam non sono sempre attive. Scegli Ok per caricare l'applicazione o Annulla per chiuderla.");
       
        miaAlert.setCancelable(false);
        miaAlert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog, int id) {
                  dialog.dismiss();
          }
        });
               
        miaAlert.setNegativeButton("Annulla", new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog, int id) {
                  finish();            
          }
        });
        AlertDialog alert = miaAlert.create();
        alert.show();}
        //fine allert dialog iniziale
   
        //Creazione menù
        public boolean onCreateOptionsMenu(Menu menu) {
                  menu.add(Menu.NONE, 1, 1, "Exit app");
                  return true;}
        //Fine creazione menù
       
        //Uscita alla selezione del menù
        public boolean onOptionsItemSelected(MenuItem item) {
                  int id = item.getItemId();    
                  switch (id) {
                    case 1:
                      finish();
                      break;}}
        //Fine uscita alla selezione del menù
       
    }
-----
Il messaggio di errore riguarda la riga "public boolean onOptionsItemSelected(MenuItem item) {" ed è il seguente:
Multiple markers at this line
   - overrides
    android.app.Activity.onOptionsItemSelected
   - This method must return a result of type boolean

Nello specifico ad essere sottolineato in rosso è "onOptionsItemSelected(MenuItem item)" è il consiglio di eclipse è:

2 quick fixes avalaible:

add return statement
change return type to void

In pratica ho creato il menù con la sola voce Exit app e alla selezione di queto menù l'app si deve chiudere.

Dove sbaglio ??

Grazie a tutti.
« Ultima modifica: 04 Gennaio 2012, 14:28:58 CET da Verandi »
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Errore su menù
« Risposta #1 il: 04 Gennaio 2012, 14:33:15 CET »
0
Alla fine del metodo devi aggiungere un "return false", che è il valore di default.  ;-)

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Errore su menù
« Risposta #2 il: 04 Gennaio 2012, 18:47:03 CET »
0
Ciao ho provato la tua modifica ma non cambia niente,

Codice (Java): [Seleziona]
//Creazione menù
    public boolean onCreateOptionsMenu(Menu menu) {
              menu.add(Menu.NONE, 1, 1, "Exit app");
              return true;}
    //Fine creazione menù
   
    //Uscita alla selezione del menù
    public boolean onOptionsItemSelected(MenuItem item) {
              int id = item.getItemId();    
              switch (id) {
                case 1:
                  finish();
                  //break;
                  return false;}}
    //Fine uscita alla selezione del menù
       
    }
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Errore su menù
« Risposta #3 il: 04 Gennaio 2012, 18:54:30 CET »
0
Citazione da: Verandi
Alla fine del metodo(...)

Il return false deve andare all'esterno del ciclo switch.

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Errore su menù
« Risposta #4 il: 04 Gennaio 2012, 19:18:48 CET »
0
Il return false deve andare all'esterno del ciclo switch.

Thanks
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store