HATA: işleme sorunları Aşağıdaki sınıflar android.support.v7.internal.widget.ActionBarOverlayLayout bulunamadı


97

Ben sadece android uygulama geliştirmeye yeni başlayan biriyim. Android Studio 1.1.0'da yeni bir proje oluşturduğumda bu hatayı veriyor " işleme sorunları Aşağıdaki sınıflar bulunamadı android.support.v7.internal.widget.ActionBarOverlayLayout "

Şimdi bunu google'da araştırdım ve çoğu insan tarafından verilen muhtemelen 3 çözüm buldum.

Onlar söylüyor:

  1. Ya api'yi (önizleme penceresi bölmesinden) 22'den 21'e değiştirin veya

  2. Uygulama Temasını "Proje Teması" ndan başka bir temaya değiştirin.

  3. proje yapınızda doğru appcompat-v7 kitaplığını içe aktardığınızdan emin olun -> bağımlılıklar, Şu adımlara bakın : Destek kitaplığı özelliği proje tanımlayıcısını bağımlılıklar bölümüne ekleyin. Örneğin, appcompat projesini dahil etmek için aşağıdaki örnekte gösterildiği gibi bağımlılıklar bölümüne "com.android.support:appcompat-v7:18.0.+" derlemesini ekleyin:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:18.0.+" }

Not: Android destek kitaplığım günceldir (SDK Yöneticisi kullanılarak yüklenmiştir).

İlk iki adımı takiben, hatayı giderin. Ancak bunların kalıcı çözümler olmadığını hissediyorum, İkinci adım sadece geçici bir çözüm gibi görünüyor. İlk adım hakkında da şüphelerim var, eğer hatayı gidermek için api'yi 22'den 21'e değiştirirsek, sonunda uygulamamız Android 5.1.1'de (API 22) çalışmayacak, Android 5.0 ile sınırlı olacaktır. .1 ve aşağısı (API 21). Şüphelerim geçerli mi? Üçüncü adımla ilgili olarak, bu soruna kalıcı çözüm mü?

Not: Eşleşmeyen etiketler için üzgünüz, site itibarı nedeniyle tam etiket eklenmesine izin verilmedi


1
Benim için, ilk iki adım bile sorunu çözmüyor ... android.support'tan görünümlere sahip tüm düzenlerde "işleme sorunları" alıyorum. *. Bu sinir bozucu!
user1987392

Yanıtlar:


162

Fix res / değerler / styles.xml gibi pek:

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

İstendiği gibi ayrıntılı açıklama: yine Theme.AppCompat.Light.DarkActionBarde süper sınıfın bir alt sınıfıdır Base. Ctrl + üzerine tıklayın (Android Studio) ve kaynağa yönlendirileceksiniz:

<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />

Hiçbir şeyi değiştirmedik, sadece daha net tanımladık.


29
Vay canına, Android Studio'da alışılmışın dışında bir deneyim.
Warren P

6
"Theme.AppCompat.Light.NoActionBar" ı kullanmak istersem ne olur?
Haseeb Jadoon

4
Garip bir şekilde, "Base" kelimesini ekledim. benim için çalıştı. "Tüm üssünüz bize ait."
SMBiggs

1
Benim için de çalıştı ... Eski bir uygulama üzerinde çalışıyorum ve Base hatayı düzeltti!
Saeid Yazdani

1
Neden temayı tam olarak tanımlamak sorunu çözüyor?
Robert

28

Bu, Android Studio'nun 1.1 sürümünden beri bilinen bir hatadır (aynı zamanda 1.2 ve 1.3 önizlemesinde de bulunmaktadır). Önizlemenin API düzeyini 22'den 21'e değiştirmek çoğu kişi için sorunu düzeltir. Bir düzeltmeyi beklerken siz de deneyebilirsiniz.

görüntü açıklamasını buraya girin

İlk olarak burada yanıtlandı: Android Studio v 1.1 / 1.2'de sorunları oluşturma

Sadece yeniden gönderiyorum


16

Src / res / values ​​/ styles.xml dosyasını değiştirin

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

Ardından API22'yi seçin, bu sorunun çözüldüğünü göreceksiniz!


3

Bu hatadan sonra kullanıyorum:

API-22 Android 5.1.1 ve hala bu sorun var. Ancak android stüdyo araç çubuğunun üst kısmından Seçin:

Material Light -> Material Light

ve ardından Araç Çubuğu ve açık tema ile önizlemeyi görebilirsiniz.

Bu yardımcı olur umarım.


1

Bu sorunu Holo Dark temasına geçip ardından Uygulama temasına geri dönerek çözdüm. Android Studio'da döndürme görünümünün yanındaki Uygulama teması yazan görüntüleyicinin üzerindeki düğmeyi tıkladım. Zamanın yaklaşık% 10'u tek başına işe yaramıyor ve ayrıca izleyicinin API'sini 22'den 19'a değiştirmem gerekiyor.

Bunun neden işe yaradığına dair hiçbir fikrim yok, ancak yukarıda verilen öneriler benim için işe yaramadı.


0

Temayı değiştirmenize gerek yok. Belki de ActionBarActivity'yi (kullanımdan kaldırıldı) yalnızca Activity yerine genişletiyorsunuz. Değiştirin ve projeyi inşa edin.


Yeni kurallar @Kleyton, ActionBarActivity'yi genişletmek yerine (artık kullanımdan kaldırılmıştır), AppCompatActivity'yi genişletmeniz önerilir (google android geliştirici sayfalarına göre).
Ashish Goyal

0

Aktiviteyi ActionBarActivity'den sadece Activity olarak değiştirirseniz, Aktivitenin kendisini içe aktarmayı unutmayın. Yani

android.app.Activity'yi içe aktar

Berbat ama hey, bu onların suçu, bizim değil.

Ayrıca "AppTheme" ye basarak temayı değiştirebilir ve Holo.Light.DarkActionBar'ı seçebilirsiniz. Styles.xml dosyasını otomatik olarak günceller ve daha sonra projeyi yeniden oluşturun.

Tüm bunları yaptım ve benim için işe yarıyor, ancak Google ve IntelliJ'deki adamların Eclipse'den Android Studio'ya geçmemiz söylendiği için bu işleme sorunu hakkında bir şeyler yapmaları gerektiğini düşünüyorum.


Yeni kurallar geldi kardeşim! ActionBarActivity'yi (artık kullanımdan kaldırılmıştır) genişletmek yerine, AppCompatActivity'yi genişletmeniz önerilir (google android geliştirici sayfalarına göre).
Ashish Goyal

Activity ile aynı şekilde mi çalışıyor? Ve XML oluşturma sorunlarını hallediyor mu?
Andrecon

Google android geliştirici sayfalarına göre, (AppCompatActivity) ActionBarActivity'nin yaptığı her şeyi halleder
Ashish Goyal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.