Вам нужно использовать ошибку темы Theme.AppCompat без изменения кода - PullRequest
0 голосов
/ 15 октября 2019

У меня странная проблема, когда я не изменил код 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 без ручной активации, так что этого не должно быть.

Я действительно в растерянности. Я думаю, что могу откатить свой коммит, но мне очень не нравится не понимать, что происходит.

И поскольку я использую надлежащие стили, он должен работать?

1 Ответ

1 голос
/ 15 октября 2019

Похоже, вы сделали опечатку для родительского свойства в теге style

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
</style>

и

<style name="AppTheme.Splashscreen" parent="AppTheme">
...
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...