ไม่พบคลาสต่อไปนี้: android.support.v7.internal.app.WindowDecorActionBar


114

อะไรทำให้เกิดข้อผิดพลาดต่อไปนี้ในการแสดงตัวอย่างเค้าโครงใน Android Studio

ปัญหาในการแสดงผลไม่พบคลาสต่อไปนี้: - android.support.v7.internal.app.WindowDecorActionBar (Fix Build Path, Create Class) คำแนะนำ: ลองสร้างโปรเจ็กต์


14
ปิดเป็นนอกหัวข้อ? อย่างจริงจัง? ผู้ที่โหวตให้ปิดนี้ไม่เข้าใจคำถามเลย
Jahid

คำตอบ:


273

แถบการดำเนินการเลิกใช้งานแล้วและแทนที่ด้วย Toolbar ดังที่กล่าวไว้คุณสามารถทำสิ่งต่อไปนี้ได้หากคุณต้องการใช้ Actionbar ต่อไปในตอนนี้:

  1. เปิด styles.xml ในโฟลเดอร์ values ​​ภายในโฟลเดอร์ res
  2. เพิ่มคำว่าBaseที่จุดเริ่มต้นของชื่อธีมเพื่อให้มันอ่าน "Base.Theme.AppCompat.Light.DarkActionBar"

ใส่คำอธิบายภาพที่นี่

วันนี้ฉันมีปัญหาเดียวกันและวิธีนี้ใช้ได้ผลสำหรับฉัน FYI ฉันอยู่ใน Android Studio แต่หวังว่าวิธีแก้ปัญหาจะคล้ายกับ Eclipse

FYI นี่คือบล็อกโพสต์ที่ดีในการแทนที่ Actionbar ด้วย Toolbar เมื่อคุณพร้อมที่จะทำเช่นนั้น: https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/


8
ไม่มีอะไรที่เหมือนกับ Goog ที่เปลี่ยนสิ่งต่างๆออกจากตัวคุณ อีกครั้ง @joshgoldeneagle ดีค่ะ
saywhatnow

7
ฉันได้รับข้อผิดพลาดนี้เพิ่งสร้างโครงการเริ่มต้นใหม่ใน Android Studio สิ่งนี้แก้ไขได้
AutonomousApps

หลังจากการวิจัยหนึ่งวันในที่สุดฉันก็ได้รับการแก้ไข ขอบคุณ @joshgoldeneale
Abish R

ถ้า "Base.Theme.AppCompat.Light.DarkActionBar" ไม่ได้ผลคุณควรลอง "Theme.Base.AppCompat.Light.DarkActionBar" เพราะมันใช้ได้กับฉัน ... :) (android studio 3.0.1)
Mang Jojot

คุณยอดเยี่ยมมาก
Naveed Ahmad

46

ฉันคิดว่าคุณต้องขึ้นอยู่กับการตั้งค่า"com.android.support:appcompat-v7:23.1.1"ของคุณmodule

ActionBar เลิกใช้งานแล้ว

เพียงแค่เปลี่ยนการอ้างอิงของคุณจาก'com.android.support:appcompat-v7:23.1.1'ไป'com.android.support:appcompat-v7:23.0.1'ใน"build.gradle"

"Theme.AppCompat.Light.NoActionBar"นอกจากนี้คุณยังสามารถเปลี่ยนผู้ปกครองสไตล์ของคุณจะ

พยายามใช้ToolbarแทนActionBar.


32

อันนี้ใช้ได้กับฉัน

การเปลี่ยนพาเรนต์ AppTheme ใน res / values ​​/ styles.xml ช่วยแก้ปัญหานี้ได้ แทนที่

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

กับ

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

หรือคุณสามารถเปลี่ยนAPI ระดับ 21จากรายการ


6
มันใช้งานได้ แต่มันทำอะไรกันแน่เมื่อคุณใส่ Base.Theme?
ไมโคร

Android ได้แนะนำแถบเครื่องมือแทนแถบการดำเนินการซึ่งเป็นสาเหตุของข้อผิดพลาดนี้ แต่โดยการเปลี่ยนเป็นฐานคุณกำลังแก้ปัญหา โดยค่าเริ่มต้นจะไม่เปลี่ยนแปลงตัวเอง (ใน Android Studio เวอร์ชันปัจจุบัน) ดังนั้นเราจึงต้องดำเนินการด้วยตนเอง คุณยังสามารถดูคำตอบของผู้อื่นซึ่งบอกคุณในสิ่งเดียวกันได้เช่นกัน ขออภัยฉันยุ่งในโครงการจึงไม่สามารถตอบกลับอย่างรวดเร็วได้
Ravikant Paudel

9

goto: res -> ค่า -> สไตล์ (V21) ->

รหัส

<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>

เลือกธีมของคุณเป็นApptheme.NoActionBarในการแสดงตัวอย่าง เพราะActionBarเป็น depricated ToolBarยินดีรับกลับไป ไม่จำเป็นต้องเปลี่ยนการอ้างอิงของคุณในbuild.gradle(Module:app). จากcom.android.support:appcompat-v7:23.1.1ถึงcom.android.support:appcompat-v7:23.0.1.

หวังว่านี่จะช่วยคุณได้ !!!


8

ฉันมีปัญหาที่คล้ายกันและหลายคนได้กล่าวไว้เนื่องจาก ActionBar เลิกใช้งานแล้วเคล็ดลับคือการระบุ

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

หมายเหตุ: พาเรนต์ลงท้ายด้วย. NoActionBar

เนื่องจาก ActionBar เลิกใช้แล้ว Android จึงได้ใช้ ToolBar ซึ่งคุณสามารถอ่านได้ที่นี่ในdeveloper.android.com

ฉันพยายามระบุ

<style name="AppTheme.NoActionBar">

ในฐานะที่เป็นโพสต์อื่นระบุและมีข้อผิดพลาด แม้ว่าคนอื่น ๆ อาจไม่มีปัญหานั้น


4

ฉันมีปัญหาเดียวกันใน Android Studio 1.5 (แม้จะมี AppCompatActivity) และความพยายามในการแก้ปัญหาคืออัปเดต Android Studio เป็น 2.0 มันช่วยแก้ปัญหาในกรณีของฉัน คุณสามารถดูลิงค์ดาวน์โหลดได้ใน: http://tools.android.com/download/studio/canary/latest


นอกจากนี้ Android Studio 2.0 ยังทำงานได้ทันทีซึ่งถือว่ายอดเยี่ยมมากในความคิดของฉัน รหัสของฉันจะอัปเดตในอุปกรณ์ของฉันทันที คุณควรลองสิ่งนี้จริงๆ
ninjahoahong

3
เพียงแค่ต้องการเพิ่มปัญหานี้ได้รับการแก้ไขแล้วใน Android Studio 1.5.1 ฉบับที่ 194975 - android - คำเตือนปลอม: ไม่พบ WindowDecorActionBar - Android Open Source Project - เครื่องมือติดตามปัญหา - Google Project Hosting
Vdragon

3

ขอบคุณ @joshgoldeneagle ทำงานใน AS v1.4 ให้ฉัน นอกจากนี้ยังมีผลใน AS คือการเปิด "build.gradle (Module.app)" และเปลี่ยนเวอร์ชันจาก v7.23.1.1 เป็น v7.23.0.1 -hth



2

คุณจะต้องเปลี่ยนระดับการเรนเดอร์ api เป็น 17 อาจมีปัญหาในการเรนเดอร์กับ apis ระดับที่สูงขึ้นอาจมี apis ระดับสูงกว่าที่สมมติว่ามีธีมเริ่มต้นและหวังว่าคุณจะไม่ได้ระบุเลย

ใส่คำอธิบายภาพที่นี่


1

สำหรับ AS v1.4 การเพิ่ม "Base" ก่อน Theme.AppCompat.Light.DarkActionBar ในโฟลเดอร์ styles.xml แก้ไขปัญหาได้

นอกจากนี้การอัปเดตเป็น AS v2.1 ยังช่วยแก้ปัญหาได้ ซึ่งน่าจะดีกว่านั้นขึ้นอยู่กับผู้ทำงานร่วมกันและเวอร์ชัน AS ของพวกเขา


0

ใน res / values ​​/ styles.xml คุณจะพบ AppTheme ของคุณดังต่อไปนี้: -

เปลี่ยนเป็น: -

โดยการเพิ่ม "ฐาน" ปัญหาการแสดงผลจะได้รับการแก้ไข


0

การเปลี่ยนธีมในไฟล์ Manifest ช่วยแก้ปัญหาของฉันได้

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.