Прежде всего, я много исследовал, и этот вопрос не является дубликатом Проблема рендеринга в Android Studio ее ответ не решает мою проблему (у меня уже есть та же конфигурация, которая есть в его ответе) , Во-вторых, я попытался очистить проект, перестроить проект, запустив синхронизацию gradle. Проблема все еще сохраняется.
После запуска нового проекта я использовал для загрузки шаблона базовое действие, но XML-файлы макета на самом деле не отображаются.
Ошибка:
Он говорит Failed to instantiate one or more classes
внутри, что я вижу
The following classes could not be instantiated:
- android.support.design.widget.CoordinatorLayout (Open Class, Show Exception, Clear Cache)
- android.support.design.widget.AppBarLayout (Open Class, Show Exception, Clear Cache)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE.
If this is an unexpected error you can also try to build the project, then manually refresh the layout.
Exception Details
java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener
Copy stack to clipboard
Мой файл styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="coordinatorLayoutStyle">@style/Widget.Support.CoordinatorLayout</item>
<item name="floatingActionButtonStyle">@style/Widget.Design.FloatingActionButton</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
</resources>
Мой gradle использует эту зависимость: и версия sdk для компиляции и назначения - 28
implementation 'com.android.support:appcompat-v7:28.0.0'
Прямо сейчас это выглядит так:
РЕДАКТИРОВАТЬ 1:
Так что теперь на этом этапе я попробовал много вещей и обнаружил, что проблема рендеринга есть только в SdkVersion 28. Когда я использую
android {
compileSdkVersion 27
defaultConfig {
targetSdkVersion 27
...
}
...
}
dependencies {
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
...
}
Похоже, что нет, поэтому я хочу выяснить, что не так с SDK версии 28? Я имею в виду, что всякий раз, когда вы делаете проект, вы получаете конфигурацию по умолчанию для версии 28, и когда я пробую этот фрагмент кода выше, я все равно получаю предупреждение, что v27 старше, почему? если v28 недостаточно стабильный, то почему он используется по умолчанию? Я не понимаю, я хочу получить полезный ответ, почему это так!
Спасибо всем, кто нашел время, чтобы прочитать мой вопрос.