Пользовательский глобальный класс приложения разрывается с "android.app.Application не может быть приведен к"
У меня есть собственный глобальный класс, который выглядит следующим образом
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>
но у вас все еще есть эта проблема?
Попробуйте отключить мгновенный запуск:
- Отключить мгновенный запуск
- Очистить и перестроить проект
- Удалить приложение с устройства и установить его снова без мгновенного запуска