Пользовательский глобальный класс приложения разрывается с «android.app. Приложение не может быть приведено к»

У меня есть собственный глобальный класс, который выглядит следующим образом

import android.app.Application;

public class MyApp extends Application {

    public String MainAct;

    public String getMainAct() {
        return MainAct;
    }

    public void setMainAct(String mainAct) {
        MainAct = mainAct;
    }
}

Я хочу сохранить строку в этом классе через другойActivity в егоonCreate метод.

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

Разрывается на отмеченной строке с ошибкой:Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.xxx.yyy.global.MyApp

Я проверил код пять раз и нигде не могу найти ошибку. Может кто-нибудь сказать мне, где ошибка ?!

Спасибо

Ответы на вопрос(2)

Решение Вопроса

Ошибка гласит, что тип объекта, возвращаемогоgetApplication являетсяandroid.app.Application. Возможной причиной этого является то, что вам не удалось определить приложение в манифесте. Убедитесь, что в вашем манифесте есть что-то вроде:

<application android:name=".MyApp"...
</application>
 Somu31 июл. 2015 г., 21:45
Привет. Я добавил это в свой манифест. Тем не менее, он все еще дает мне ClassCastException
 Vrashabh Irde29 сент. 2014 г., 17:19
2 года спустя, все еще спасая жизни
 artkoenig16 окт. 2016 г., 13:50
У меня была такая же проблема несколько минут назад на Android N, манифест был правильным. Перезапустил устройство - исключение пропало. Странный..
 sandalone15 мая 2012 г., 21:27
Боже мой, ты прав. И я потерял последний час, пытаясь понять, почему он не хочет работать в этот раз, когда он работал 100 раз раньше :). Большое спасибо
 Jay Mayu13 мая 2014 г., 13:14
Ты не представляешь, сколько душ ты спас

Еще одно решение для устройства или эмуляторы устройств Android. Вы определили приложение в манифесте:

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

но у тебя все еще есть проблема?

Попробуйте отключить мгновенный запуск:

Отключить мгновенный запуск Очистить и перестроить проект Удалите приложение с устройства и установите его снова без мгновенного запуска

Ваш ответ на вопрос