Пользовательский глобальный класс приложений разрывается с " 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
Я проверил код в течение пяти раз, и я не могу найти ошибку в любом месте. Может кто-нибудь сказать мне, где ошибка?!
спасибо
2 ответов:
ошибка гласит, что тип объекта, возвращаемого
getApplicationиandroid.app.Application. Возможной причиной этого является то, что вы не смогли определить приложения в манифесте. Убедитесь, что ваш манифест содержит что-то в строках:<application android:name=".MyApp"... </application>
другое решение для старые устройства Android или эмуляторы. Вы определили приложение в манифесте:
<application android:name=".MyApp"... </application>но у вас еще есть эта проблема?
попробуйте отключить мгновенный запуск:
- отключить мгновенный запуск
- очистить и перестроить проект
- удалите приложение с устройства и установите его снова без мгновенного запуска
Comments