У меня странная проблема, когда я не изменил код MainActivity и все еще получаю исключение времени выполнения:
Вам необходимо использовать тему Theme.AppCompat (или потомок)с этим действием.
My onCreate of MainActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
instance = this;
instance.setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
initializeSystem();
initializeUI();
test();
}
Стили, которые я использую:
<style name="AppTheme" speParent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorAccent">@color/dialog_progress_foreground</item>
<item name="android:popupMenuStyle">@style/menuStyle</item>
</style>
<style name="AppTheme.Splashscreen" speParent="AppTheme">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowBackground">@drawable/splashscreen_drawable</item>
</style>
Теперь странная часть. Я использую систему управления версиями, поэтому я попробовал сделать коммит до этого. Это работает и не падает. Этот коммит имеет несколько диалогов, отображаемых в тестовой функции MainActivity. Они были закомментированы в последнем коммите. Когда я возвращаю его в код (показывать диалоги), код все равно падает.
Конечно, я изменил некоторые другие классы, но они не используются в MainActivity без ручной активации, так что этого не должно быть.
Я действительно в растерянности. Я думаю, что могу откатить свой коммит, но мне очень не нравится не понимать, что происходит.
И поскольку я использую надлежащие стили, он должен работать?