versiones pie oreo developer descargar android

oreo - android pie



La clase de aplicaciĆ³n global personalizada se rompe con "android.app.Application no se puede convertir a" (2)

Tengo una clase global personalizada que se parece a esto

import android.app.Application; public class MyApp extends Application { public String MainAct; public String getMainAct() { return MainAct; } public void setMainAct(String mainAct) { MainAct = mainAct; } }

Quiero preservar una cadena en esta clase a través de otra Activity en su método onCreate .

String local = "myLocalVariable"; ((MyApp) getApplication()).setMainAct(local); //breaks here!!! String name = ((MyApp) getApplication()).getMainAct();

Se rompe en la línea marcada con error: Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.xxx.yyy.global.MyApp

Revisé el código cinco veces y no puedo encontrar el error en ninguna parte. ¿Alguien puede decirme dónde está el error?

Gracias


El error indica que el tipo de objeto devuelto por getApplication es android.app.Application . Una posible causa para esto es que no definió la aplicación en el manifiesto. Asegúrese de que su manifiesto incluya algo en las líneas de:

<application android:name=".MyApp"... </application>


Otra solución para dispositivos Android o emuladores anteriores . Usted definió una aplicación en el manifiesto:

<application android:name=".MyApp"... </application>

pero todavía tienes este problema?

Intenta deshabilitar la ejecución instantánea:

  1. Deshabilitar una ejecución instantánea
  2. Limpiar y reconstruir el proyecto
  3. Retire la aplicación del dispositivo e instálela de nuevo sin ejecución instantánea