Autore Topic: Errore intent su onMenuItemClick()  (Letto 795 volte)

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Errore intent su onMenuItemClick()
« il: 19 Maggio 2011, 16:20:09 CEST »
0
Salve ragazzi,
ho cercato nei vari post ma non ho trovato la soluzione al mio problema, quando cerco di lanciare un intent ad un altra activity l'applicazione crasha qualcuno sa dirmi il motivo?

ecco il codice dell' intent:

Codice (Java): [Seleziona]
 MenuItem visMappa= menu.add(Menu.NONE, 1, 1, "Mappa");
        visMappa.setOnMenuItemClickListener(new OnMenuItemClickListener(){
          @Override
          public boolean onMenuItemClick(MenuItem item) {
                Intent intent= new Intent(StartActivity.this,Map.class);
                startActivity(intent);
                                return true;
                        }
                });
            
e vi posto anche il logcat:

Codice: [Seleziona]
05-18 14:45:44.825: ERROR/AndroidRuntime(276): FATAL EXCEPTION: main
05-18 14:45:44.825: ERROR/AndroidRuntime(276): java.lang.NoClassDefFoundError: it.esame.Map
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at it.esame.StartActivity$1.onMenuItemClick(StartActivity.java:23)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:137)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:532)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:122)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at android.view.View$PerformClick.run(View.java:8816)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at android.os.Handler.handleCallback(Handler.java:587)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at android.os.Looper.loop(Looper.java:123)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at android.app.ActivityThread.main(ActivityThread.java:4627)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at java.lang.reflect.Method.invokeNative(Native Method)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at java.lang.reflect.Method.invoke(Method.java:521)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-18 14:45:44.825: ERROR/AndroidRuntime(276):     at dalvik.system.NativeStart.main(Native Method)
05-18 14:45:44.875: WARN/ActivityManager(59):   Force finishing activity it.esame/.StartActivity
05-18 14:45:45.506: WARN/ActivityManager(59): Activity pause timeout for HistoryRecord{44fc3670 it.esame/.StartActivity}

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Errore intent su onMenuItemClick()
« Risposta #1 il: 19 Maggio 2011, 16:59:42 CEST »
0
posta il manifest
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #2 il: 19 Maggio 2011, 17:29:23 CEST »
0
eccolo:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="it.esame"
     android:versionCode="1"
     android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
   
        <activity android:name=".StartActivity"
                 android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <!-- activity android:name="Map" android:process=":new_process"></activity-->
                <activity android:name="Map"></activity>

    </application>
    <uses-sdk android:minSdkVersion="5" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET">
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        </uses-permission>
   
   
</manifest>

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Errore intent su onMenuItemClick()
« Risposta #3 il: 19 Maggio 2011, 18:45:14 CEST »
0
prova a mettere .Map nel name, e controlla che il file java dell'activity map sia nello stesso package dell'altra activity
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #4 il: 24 Maggio 2011, 16:14:07 CEST »
0
il file java è nello stesso package dell'altra activity e ho messo .map nel manifest ma non cambia niente.
non so può essere che c'è qualche problema nella classe Map.java?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Errore intent su onMenuItemClick()
« Risposta #5 il: 24 Maggio 2011, 16:32:16 CEST »
+1
Citazione
java.lang.NoClassDefFoundError: it.esame.Map

Supponendo che Map.java faccia uso di maps...
...io proverei a mettere qualcosa del genere nel mainfest.

Codice (XML): [Seleziona]
<uses-library android:name="com.google.android.maps" />
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #6 il: 24 Maggio 2011, 16:50:34 CEST »
0
fatto l'ho messo qui ditemi se sbaglio:

Codice (XML): [Seleziona]
<uses-sdk android:minSdkVersion="5" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET">
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-library android:name="com.google.android.maps" />
        </uses-permission>

però ancora niente non funziona

vi posto anche il codice della classe map:

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

import android.location.Location;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;



public class Map extends MapActivity {

        private MapView mapView;
        private MapController mapController;
        int LatitudineCentro;
        int LongitudineCentro;
       
       
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

      //  Visualizza = false;
        // Visualizziamo la Map
        setContentView(R.layout.map);
                // Otteniamo il riferimento alla MapView
                mapView = (MapView) findViewById(R.id.mapView);
                mapController = mapView.getController();
                mapView.setClickable(true);
                mapView.setSatellite(false);
                mapView.getController().setZoom(9);
                mapView.setBuiltInZoomControls(true);
               
               
               
               
               
               
               
               
        }
               
                public void onLocationChanged(Location location) {
               
                LatitudineCentro = (int)(location.getLatitude()*1000000);
                LongitudineCentro = (int)(location.getLongitude()*1000000);
               
                GeoPoint CENTRO = new GeoPoint(LatitudineCentro,LongitudineCentro);
                //setto il centro
                mapController.setCenter(CENTRO);
                Location locationCentro = new Location ("centro");
                locationCentro.setLatitude(location.getLatitude());  
                locationCentro.setLongitude(location.getLongitude());

       
                }
       
       
       
        @Override
        protected boolean isRouteDisplayed() {
                // TODO Auto-generated method stub
                return false;
        }
       
       
       
       
}


Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #7 il: 24 Maggio 2011, 16:54:40 CEST »
0
Il tag uses-library l'hai messo li con un qualche criterio o a caso?
Deve stare dentro application, in questo modo:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="it.esame"
    android:versionCode="1"
    android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
   
        <activity android:name=".StartActivity"
                android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <!-- activity android:name="Map" android:process=":new_process"></activity-->
                <activity android:name="Map"></activity>
        <uses-library android:name="com.google.android.maps" />
    </application>
    <uses-sdk android:minSdkVersion="5" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET">
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        </uses-permission>
</manifest>

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Errore intent su onMenuItemClick()
« Risposta #8 il: 24 Maggio 2011, 16:55:47 CEST »
0
Altra cosa, per sicurezza: hai messo il build target del progetto impostato su "google APIs" ?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #9 il: 24 Maggio 2011, 17:01:58 CEST »
0
Si il target è impostato su Google APIs 2.2 api level 8

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #10 il: 24 Maggio 2011, 17:07:19 CEST »
0

Citazione
Il tag uses-library l'hai messo li con un qualche criterio o a caso?

prima lo avevo messo dentro application ma mi da questo errore:
Codice: [Seleziona]
[2011-05-24 17:03:20 - PoiNavigator] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2011-05-24 17:03:20 - PoiNavigator] Please check logcat output for more details.
[2011-05-24 17:03:20 - PoiNavigator] Launch canceled!

poi l'ho spostato sotto

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #11 il: 24 Maggio 2011, 17:10:45 CEST »
+1
Per quale motivo non hai deciso di cercare INSTALL_FAILED_MISSING_SHARED_LIBRARY su google?

Comunque le cose sono due: Il target del progetto o l'emulatore dove cerchi di avviarlo non hanno il target a Google APIs

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #12 il: 26 Maggio 2011, 16:41:22 CEST »
0
Il target del progetto è impostato sulle google APIs 2.2 e l'emulatore è impostato sullo stesso target.

Ho provato a fare un intent con un altro item del menu su di un altra classe che ho creato appositamente (dentro c'è solo una textview con una scritta) e questa volta funziona!!
Invece quando clicco su mappa l'applicazione continua a crashare... :'(

Offline Simo

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Errore intent su onMenuItemClick()
« Risposta #13 il: 26 Maggio 2011, 17:27:58 CEST »
0
Ricky ho risolto aveva ragione bradipao mancava
Codice (XML): [Seleziona]
<uses-library android:name="com.google.android.maps" />" nel manifest
lo sapevo che ci andava però l'altro giorno quando ce l'ho messo mi continuava a crashare.

scusate per l'errore banale comunque i vostri suggerimenti sono stati lo stesso di aiuto grazie ragazzi!! ;-)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Errore intent su onMenuItemClick()
« Risposta #14 il: 26 Maggio 2011, 18:15:43 CEST »
+1
Scherlock Holmes insegna: "Quando hai eliminato l'impossibile, qualsiasi cosa resti, per quanto improbabile, deve essere la verità."  8-)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store