EROR: masalah rendering Kelas berikut tidak dapat ditemukan android.support.v7.internal.widget.ActionBarOverlayLayout

97

Saya hanya pemula dalam pengembangan aplikasi android. Ketika saya membuat proyek baru di Android Studio 1.1.0, kesalahan ini "mengalami masalah rendering Kelas-kelas berikut tidak dapat ditemukan android.support.v7.internal.widget.ActionBarOverlayLayout "

Sekarang saya telah mencari tentang ini di google, dan saya menemukan kemungkinan 3 solusi yang diberikan oleh sebagian besar orang.

Mereka bilang:

  1. Ubah api (dari panel jendela pratinjau) dari 22 menjadi 21, atau

  2. Ubah Tema Aplikasi dari "Tema Proyek" ke tema lainnya.

  3. pastikan untuk telah mengimpor pustaka appcompat-v7 yang benar dalam struktur proyek Anda -> dependensi, Lihat langkah-langkah berikut : Tambahkan pengenal proyek fitur pustaka dukungan ke bagian dependensi. Misalnya, untuk menyertakan proyek appcompat, tambahkan kompilasi "com.android.support:appcompat-v7:18.0.+" ke bagian dependensi, seperti yang ditunjukkan pada contoh berikut:

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

Catatan: Lib dukungan android saya adalah yang terbaru (diinstal menggunakan SDK Manager).

Mengikuti dua langkah pertama, hapus kesalahan tersebut. Tetapi saya merasa ini bukan solusi permanen, Langkah kedua sepertinya hanya solusi sementara. Saya juga ragu tentang langkah pertama, bahwa jika untuk menghapus kesalahan, kami mengubah api dari 22 menjadi 21, kemudian pada akhirnya, aplikasi kami tidak akan berfungsi di Android 5.1.1 (API 22), itu akan dibatasi untuk Android 5.0 .1 dan di bawahnya saja (API 21). Apakah keraguan saya valid? Mengenai langkah ketiga, apakah ini solusi permanen untuk masalah ini?

NB: Maaf untuk tag yang tidak cocok, tidak diizinkan untuk menambahkan tag yang tepat karena reputasi situs

Ashish Goyal
sumber
1
Bagi saya, bahkan dua langkah pertama tidak menyelesaikan masalah ... Saya mendapatkan "masalah rendering" dengan semua tata letak yang memiliki tampilan dari android.support. *. Ini membuat frustasi!
user1987392

Jawaban:

162

Perbaiki res / values ​​/ styles.xml seperti ini:

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

Penjelasan rinci seperti yang diminta: bagaimanapun juga Theme.AppCompat.Light.DarkActionBaradalah subclass dari superclass Base. Ctrl + klik (Android Studio) di atasnya dan Anda akan dibawa ke sumbernya:

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

Kami tidak mengubah apa pun, kami hanya mendefinisikannya dengan lebih tepat.

eee
sumber
29
Wow, pengalaman yang luar biasa di Android Studio.
Warren P
6
Jika saya ingin menggunakan "Theme.AppCompat.Light.NoActionBar" lalu apa?
Haseeb Jadoon
4
Anehnya, menambahkan kata "Base." bekerja untuk saya. "Semua markas Anda adalah milik kami."
SMBiggs
1
Bekerja untuk saya juga ... Saya sedang mengerjakan aplikasi lama dan Basis memperbaiki kesalahan!
Saeid Yazdani
1
Mengapa mendefinisikan tema dengan tepat dapat menyelesaikan masalah?
Robert
28

Ini adalah bug yang diketahui sejak Android Studio build 1.1 (juga masih dalam pratinjau 1.2 dan 1.3). Mengalihkan level API pratinjau dari 22 menjadi 21 memperbaiki bagi kebanyakan orang. Sambil menunggu perbaikan, Anda dapat mencobanya juga.

masukkan deskripsi gambar di sini

Awalnya dijawab di sini: Masalah rendering di Android Studio v 1.1 / 1.2

Hanya memposting ulang

Sagar Devanga
sumber
16

Ubah src / res / values ​​/ styles.xml

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

Kemudian pilih API22, Anda akan menemukan masalah ini diperbaiki!

sudoz
sumber
3

Setelah kesalahan ini, saya menggunakan:

API-22 Android 5.1.1 dan masalah ini masih ada. Tapi Anda bisa di bagian atas toolbar studio android, Pilih:

Material Light -> Material Light

lalu Anda dapat melihat pratinjau dengan Toolbar dan tema terang.

Semoga ini membantu.

ʍѳђ ઽ ૯ ท
sumber
1

Saya memperbaiki masalah ini dengan beralih ke tema Holo Dark, lalu kembali ke tema Aplikasi. Saya baru saja mengklik tombol di atas penampil yang bertuliskan Tema aplikasi di sebelah tampilan putar di Android Studio. Sekitar 10% dari waktu, itu saja tidak berfungsi dan saya juga harus mengubah API penampil dari 22 menjadi 19.

Tidak tahu mengapa ini berhasil, tetapi saran yang diberikan di atas tidak berhasil untuk saya.

Austin Capobianco
sumber
0

Anda tidak perlu mengubah tema. Mungkin Anda memperluas ActionBarActivity (deprecated), bukan hanya Activity. Ubah, dan bangun proyek.

Kley
sumber
Aturan baru @Kton, Alih-alih memperluas ActionBarActivity (yang sekarang sudah tidak digunakan lagi), disarankan untuk memperluas AppCompatActivity (sesuai dengan halaman developer android google).
Ashish Goyal
0

Jika Anda memang mengubah aktivitas dari ActionBarActivity menjadi hanya Activity, jangan lupa untuk mengimpor Activity itu sendiri. Itu adalah

impor android.app.Activity

Itu menyebalkan tapi hei, itu salah mereka dan bukan kita.

Anda juga dapat mengubah tema dengan menekan "AppTheme" dan memilih Holo.Light.DarkActionBar. Ini memperbarui file styles.xml secara otomatis. Setelah itu, buat ulang proyek.

Saya melakukan semua ini dan itu berhasil untuk saya meskipun saya pikir mereka di Google dan IntelliJ harus melakukan sesuatu tentang masalah rendering ini karena kami telah diberitahu untuk pindah dari Eclipse ke Android Studio

Andrecon
sumber
Aturan baru sudah muncul bro! Alih-alih memperluas ActionBarActivity (yang sekarang sudah tidak digunakan lagi), disarankan untuk memperluas AppCompatActivity (sesuai halaman pengembang google android).
Ashish Goyal
Apakah ini bekerja dengan cara yang sama seperti Aktivitas? Dan apakah itu menangani masalah rendering XML?
Andrecon
Sesuai laman pengembang android google, itu (AppCompatActivity) menangani semua yang biasa dilakukan ActionBarActivity
Ashish Goyal