LỖI: sự cố kết xuất Không thể tìm thấy các lớp sau android.support.v7.internal.widget.ActionBarOverlayLayout


97

Tôi chỉ là một người mới bắt đầu phát triển ứng dụng Android. Khi tôi tạo một dự án mới trên Android Studio 1.1.0, nó sẽ xuất hiện lỗi này " vấn đề kết xuất Không thể tìm thấy các lớp sau android.support.v7.internal.widget.ActionBarOverlayLayout "

Bây giờ tôi đã tìm kiếm về điều này trên google, và tôi có thể tìm thấy 3 giải pháp được đưa ra bởi hầu hết mọi người.

Họ nói:

  1. Thay đổi api (từ ngăn cửa sổ xem trước) từ 22 thành 21 hoặc

  2. Thay đổi Chủ đề ứng dụng từ "Chủ đề dự án" thành bất kỳ chủ đề nào khác.

  3. đảm bảo đã nhập đúng thư viện appcompat-v7 trong cấu trúc dự án của bạn -> phần phụ thuộc, Hãy tham khảo các bước sau : Thêm mã định danh dự án tính năng thư viện hỗ trợ vào phần phụ thuộc. Ví dụ: để bao gồm dự án appcompat, hãy thêm biên dịch "com.android.support:appcompat-v7:18.0.+" vào phần phụ thuộc, như được hiển thị trong ví dụ sau:

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

Lưu ý: lib hỗ trợ android của tôi đã được cập nhật (đã cài đặt nó bằng Trình quản lý SDK).

Làm theo hai bước đầu tiên, loại bỏ lỗi. Nhưng tôi cảm thấy rằng đây không phải là những giải pháp lâu dài, Bước thứ hai dường như chỉ là một giải pháp tạm thời. Tôi cũng nghi ngờ về Bước đầu tiên, rằng nếu để xóa lỗi, chúng tôi thay đổi api từ 22 thành 21, thì cuối cùng, ứng dụng của chúng tôi sẽ không hoạt động trong Android 5.1.1 (API 22), nó sẽ bị hạn chế ở Android 5.0 Chỉ .1 trở xuống (API 21). Những nghi ngờ của tôi có hợp lệ không? Về bước thứ ba, nó có phải là giải pháp lâu dài cho vấn đề này không?

Tái bút: Xin lỗi vì các thẻ không khớp, không được phép thêm các thẻ chính xác do danh tiếng của trang web


1
Đối với tôi, ngay cả hai bước đầu tiên cũng không giải quyết được vấn đề ... Tôi đang gặp "sự cố hiển thị" với tất cả các bố cục có chế độ xem từ android.support. *. Thật là bực bội!
user1987392

Câu trả lời:


162

Sửa res / values ​​/ styles.xml như sau:

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

Giải thích chi tiết theo yêu cầu: dù sao cũng Theme.AppCompat.Light.DarkActionBarlà một lớp con của lớp cha Base. Ctrl + nhấp (Android Studio) vào đó và bạn sẽ được đưa đến nguồn:

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

Chúng tôi không thay đổi bất cứ điều gì, chúng tôi chỉ định nghĩa nó chính xác hơn.


29
Chà, thật là một trải nghiệm khập khiễng trong Android Studio.
Warren P

6
Nếu tôi muốn sử dụng "Theme.AppCompat.Light.NoActionBar" thì sao?
Haseeb Jadoon

4
Kỳ lạ là thêm từ "Base." đã làm cho tôi. "Tất cả các cơ sở của bạn là thuộc về chúng tôi."
SMBiggs

1
Cũng làm việc cho tôi ... Tôi đang làm việc trên một ứng dụng cũ và Cơ sở đã sửa lỗi!
Saeid Yazdani

1
Tại sao việc xác định chính xác chủ đề lại khắc phục được sự cố?
Robert

28

Đây là một lỗi đã biết kể từ phiên bản Android Studio phiên bản 1.1 (nó vẫn ở bản xem trước 1.2 và 1.3). Việc chuyển cấp API của bản xem trước từ 22 thành 21 sẽ khắc phục được lỗi cho hầu hết mọi người. Trong khi chờ đợi bản sửa lỗi, bạn cũng có thể thử nó.

nhập mô tả hình ảnh ở đây

Câu trả lời ban đầu ở đây: Sự cố hiển thị trong Android Studio v 1.1 / 1.2

Chỉ đăng lại


16

Sửa đổi src / res / values ​​/ styles.xml

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

Sau đó chọn API22, bạn sẽ thấy vấn đề này đã được khắc phục!


3

Sau lỗi này, tôi đang sử dụng:

API-22 Android 5.1.1 và vấn đề này vẫn tồn tại. Nhưng bạn có thể ở đầu thanh công cụ studio android, Chọn:

Material Light -> Material Light

và sau đó bạn có thể xem bản xem trước với Thanh công cụ và chủ đề ánh sáng.

Hi vọng điêu nay co ich.


1

Tôi đã khắc phục sự cố này bằng cách chuyển sang chủ đề Holo Dark, sau đó quay lại chủ đề Ứng dụng. Tôi vừa nhấp vào nút phía trên trình xem có nội dung Chủ đề ứng dụng bên cạnh chế độ xem xoay trong Android Studio. Khoảng 10% thời gian, điều đó một mình không hoạt động và tôi cũng phải thay đổi API của trình xem từ 22 thành 19.

Không biết tại sao điều này hoạt động, nhưng các đề xuất được cung cấp ở trên không hiệu quả với tôi.


0

Bạn không cần phải thay đổi chủ đề. Có thể bạn đang mở rộng ActionBarActivity (không dùng nữa) thay vì chỉ Hoạt động. Thay đổi nó và xây dựng dự án.


Các quy tắc mới @Kleyton, Thay vì mở rộng ActionBarActivity (hiện không được dùng nữa), bạn nên mở rộng AppCompatActivity (theo các trang dành cho nhà phát triển Android của google).
Ashish Goyal

0

Nếu bạn thay đổi hoạt động từ ActionBarActivity thành chỉ Hoạt động, đừng quên nhập Hoạt động đó. Đó là

nhập android.app.Activity

Thật tệ nhưng này, đó là lỗi của họ chứ không phải của chúng tôi.

Ngoài ra, bạn có thể chỉ cần thay đổi chủ đề bằng cách nhấn "AppTheme" và chọn Holo.Light.DarkActionBar. Nó tự động cập nhật tệp styles.xml, sau đó xây dựng lại dự án.

Tôi đã làm tất cả những điều này và nó phù hợp với tôi mặc dù tôi nghĩ họ ở Google và IntelliJ nên làm điều gì đó về vấn đề kết xuất này vì chúng tôi đã được yêu cầu chuyển từ Eclipse sang Android Studio


Các quy tắc mới đã được đưa ra người anh em! Thay vì mở rộng ActionBarActivity (hiện không được dùng nữa), bạn nên mở rộng AppCompatActivity (theo các trang dành cho nhà phát triển Android của google).
Ashish Goyal

Nó có hoạt động giống như cách Activity không? Và nó có xử lý các vấn đề kết xuất XML không?
Andrecon

Theo các trang dành cho nhà phát triển Android của google, nó (AppCompatActivity) xử lý mọi thứ mà ActionBarActivity từng làm
Ashish Goyal,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.