Nie można znaleźć następujących klas: android.support.v7.internal.app.WindowDecorActionBar


114

Co powoduje następujący błąd w podglądzie układu w Android Studio?

Problemy z renderowaniem Nie można znaleźć następujących klas: - android.support.v7.internal.app.WindowDecorActionBar (Napraw ścieżkę budowania, Utwórz klasę) Wskazówka: Spróbuj skompilować projekt.


14
zamknięte jako nie na temat? poważnie? Ci, którzy głosowali za zamknięciem, zdecydowanie nie rozumieją pytania.
Jahid

Odpowiedzi:


273

Actionbar został wycofany i zastąpiony przez Toolbar. Biorąc to pod uwagę, możesz wykonać następujące czynności, jeśli chcesz nadal korzystać z paska akcji:

  1. Otwórz style.xml w folderze wartości w folderze res.
  2. Dodaj słowo Base na początku nazwy motywu, tak aby brzmiało „Base.Theme.AppCompat.Light.DarkActionBar”

wprowadź opis obrazu tutaj

Miałem dziś ten sam problem i to rozwiązanie zadziałało. FYI Jestem w Android Studio, ale mam nadzieję, że rozwiązanie jest podobne dla Eclipse.

Do Twojej wiadomości tutaj jest przyzwoity post na blogu dotyczący zastąpienia paska Actionbar paskiem narzędzi, gdy będziesz gotowy, aby to zrobić: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/


8
Nie ma to jak Goog zmieniający rzeczy spod ciebie. Jeszcze raz. Niezłe wykrycie @joshgoldeneagle!
saywhatnow

7
Otrzymałem ten błąd podczas tworzenia nowego domyślnego projektu w Android Studio. To rozwiązało problem.
AutonomousApps,

Po jednym dniu badań w końcu udało mi się rozwiązać problem. Dzięki @joshgoldeneale
Abish R

jeśli „Base.Theme.AppCompat.Light.DarkActionBar” nie działa, spróbuj „Theme.Base.AppCompat.Light.DarkActionBar”, ponieważ działa dla mnie ... :) (Android Studio 3.0.1)
Mang Jojot

Jesteś niesamowity
Naveed Ahmad

46

Myślę, że musisz polegać na "com.android.support:appcompat-v7:23.1.1"swoich moduleustawieniach.

ActionBar został wycofany.

Po prostu zmień swoje zależności z 'com.android.support:appcompat-v7:23.1.1'na 'com.android.support:appcompat-v7:23.0.1'w „build.gradle” .

Możesz także zmienić swojego rodzica stylu na "Theme.AppCompat.Light.NoActionBar".

Spróbuj użyć Toolbarzamiast ActionBar.


32

Ten działa dla mnie

Zmiana elementu nadrzędnego AppTheme w res / values ​​/ styles.xml rozwiązała ten problem. Zastąpić

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

z

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

Lub możesz zmienić poziom API 21 z listy.


6
To działa, ale co dokładnie robi po umieszczeniu Base.Theme?
Micro

Android miał wprowadzony pasek narzędzi zamiast paska akcji, który jest przyczyną tego błędu, ale zmieniając go na Base. Motyw po prostu rozwiązujesz problem. Domyślnie nie zmienia się to samodzielnie (w obecnej wersji Android Studio) więc musimy to zrobić ręcznie. Możesz także przejrzeć inne odpowiedzi, które również mówią ci to samo. Przepraszam, że byłem zajęty projektem, więc nie mogę szybko odpowiedzieć.
Ravikant Paudel

9

goto: res -> wartości -> style (V21) ->

Kod

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

wybierz motyw jak Apptheme.NoActionBarw podglądzie . Ponieważ ActionBarjest pozbawiony, witamy z powrotem ToolBar. NIE musisz zmieniać swoich zależności w build.gradle(Module:app). od com.android.support:appcompat-v7:23.1.1do com.android.support:appcompat-v7:23.0.1.

Mam nadzieję, że to ci pomoże !!!


8

Miałem podobny problem i jak wielu powiedziało, odkąd ActionBar został przestarzały, sztuczka polegała na sprecyzowaniu

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

UWAGA: że rodzic kończy się na .NoActionBar.

Ponieważ ActionBar został wycofany, Android zaczął używać ToolBar, o którym możesz przeczytać tutaj na developer.android.com

Spróbowałem określić

<style name="AppTheme.NoActionBar">

Jak stwierdził inny post i to wyrzuciło błędy. Chociaż inni mogą nie mieć tego problemu.


4

Mam ten sam problem w Android Studio 1.5 (nawet z AppCompatActivity), a moją próbą rozwiązania problemu była aktualizacja mojego Android Studio do 2.0. To rozwiązuje problem w moim przypadku. Link do pobrania można znaleźć w: http://tools.android.com/download/studio/canary/latest


Poza tym Android Studio 2.0 ma błyskawiczne uruchamianie, co moim zdaniem jest bardzo fajne. Mój kod natychmiast aktualizuje się na moim urządzeniu. Naprawdę powinieneś tego spróbować.
ninjahoahong


3

dzięki @joshgoldeneagle, pracował dla mnie w AS v1.4. również efektywne w AS to otwarcie "build.gradle (Module.app)" i zmiana wersji z v7.23.1.1 na v7.23.0.1 -hth


2

Szybka naprawa

Wybierz motyw bez AtcionBar w narzędziu podglądu interfejsu użytkownika
Wybierz przycisk obrazu wprowadź opis obrazu tutaj


2

Będziesz musiał zmienić poziom renderowania api na 17, może wystąpić problem z renderowaniem z interfejsami API wyższego poziomu, być może api wyższego poziomu mogą mieć domyślny motyw i mam nadzieję, że nie określono żadnego.

wprowadź opis obrazu tutaj


1

Dla AS v1.4 dodanie „Base” przed Theme.AppCompat.Light.DarkActionBar w folderze styles.xml rozwiązało problem

Dodatkowo aktualizacja do AS v2.1 również rozwiązała problem. To, co jest bardziej prawdopodobne, zależy od współpracowników i ich wersji AS.


0

W res / values ​​/ styles.xml znajdziesz swój AppTheme, jak poniżej: -

Zmień to na: -

dodając „Base” problem z renderowaniem zostanie rozwiązany.


0

Zmiana motywu w manifeście rozwiązała mój problem.

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.