después de una búsqueda larga No he podido encontrar ninguna solución adecuada. Tengo un proyecto de biblioteca Android con casi todo el código para la aplicación. A partir de la actividad principal en el proyecto de la biblioteca, comienzo un Intento de actividad explícita A. En mi Proyecto derivado, que usa el Proyecto de la biblioteca, amplié esta Actividad A y agregué un código nuevo. El problema es que la Superclase de la Actividad A responderá y no la clase derivada.Actividad de inicio de Android-Library-Project
En el manifiesto del nuevo proyecto que utiliza el proyecto de biblioteca, he declarado la nueva actividad con el nuevo paquete.
Aquí es el llamado Intención del Proyecto para bibliotecas:
Intent i = new Intent(getApplicationContext(), AndroidActivity.class);
startActivity(i);
Aquí es la clase AndroidActivity derivados:
public class AndroidActivity extends de.app.library.activities.AndroidActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
no soy capaz de llegar al Método onCreate
El Manifest from the Library Project:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.app.library"
android:versionName="1.0"
android:versionCode="1">
<uses-sdk android:minSdkVersion="4" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".activities.MainActivity"
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=".activities.AndroidActivity" android:label="@string/act_android" />
</application>
Y aquí el Manifiesto del nuevo proyecto:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.app.free"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name="de.app.library.activities.MainActivity"
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=".activities.LernenActivity" android:label="@string/act_lernen" />
por lo que tengo:
de.app.library.activities.AndroidActivity and
de.app.free.activities.AndroidActivity
Yo no quería hacer mucho cambios en el proyecto de la biblioteca beacuase una tercer proyecto debe usar el código existente con la intacta AndroidActivity
Todo lo demás funciona bien para mí. Por ejemplo, los diseños cambiados se utilizan desde el nuevo proyecto.
¿Cómo puedo manejar ese problema? ¿Tal vez cambios en el Manifiesto del nuevo proyecto en el que declaro, que la nueva actividad debería ser llamada en lugar de la superclase?
¡Gracias de antemano!
En el nuevo proyecto, no tengo una clase de actividad principal. Estoy señalando el proyecto de la biblioteca. Solo AndroidActivity tiene algunos cambios y es por eso que lo he extendido. – treimy