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



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



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



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



спасибо

241   2  

2 ответов:

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

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

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

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

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

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

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

Comments

    Ничего не найдено.