Pregunta

Tengo 2 clases. Una de ellas será una pantalla de instrucciones básicas y en esa pantalla tendrá un menú que le permitirá ir a la otra clase. La otra clase es una MapActivity. Creo que el problema es que no es la búsqueda de la otra clase. He intentado un par de maneras diferentes de declarar la intención de encontrar la clase. Esta es la última cosa que he intentado:

@Override
public boolean onCreateOptionsMenu(Menu menu){        
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
    switch(item.getItemId()){
    case R.id.goToMap:
        Intent intent = new Intent();
        intent.setClassName(Main.this, "Map.Class");
        startActivity(intent);
        return true;            
    }
    return false;
}

Es una clase básica que se extiende la actividad y la clase mapa es una clase básica que se extiende MapActivity (puede que causan es un problema?). Y aquí está la parte importante de mi archivo de manifiesto:

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Campus_Map"
              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=".Main" android:label="Instructions" ></activity>
    <activity android:name=".Map" android:label="Map">
        <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        </intent-filter>
    </activity>

</application>

Editar: Al mirar el LogCat de averiguar lo que estaba pasando, me estoy poniendo un java.lang.NoClassDefFoundError y unos pocos otros mensajes diciendo "Enlace de la clase ./Map falló", "No se pudo encontrar la clase ./Map referencia de método. /Main.run" y "VFY: no se puede resolver const de clase 37"

¿Fue útil?

Solución

You can use like this and don't forget to add both activities to AndroidManifest.xml:

Intent launchNewIntent = new Intent(CurrentClass.this,SecondClass.class);
startActivityForResult(launchNewIntent, 0);

Otros consejos

Have you tried this way?

Intent intent = new Intent(Main.this, Map.class);
case R.id.home:
    startActivity(new Intent(main.this, map.class));
    return true;

You have to implement this line into your Manifest

<uses-library android:name="com.google.android.maps" />

If you did this already you did it wrong! It has to be within the <application> </application> tag. Otherwise you will get your error

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top