9

Android Studio dấu như lỗi dòng này:Tại sao mở rộng ImageView được đánh dấu là lỗi?

public class ParallaxView extends ImageView 

Đây là lỗi:

This custom view should extend android.support.v7.widget.AppCompatImageView instead less... (Ctrl+F1) 

In order to support features such as tinting, the appcompat library will automatically load special appcompat replacements for the builtin widgets. 

However, this does not work for your own custom views. Instead of extending the android.widget classes directly, you should instead extend one of the delegate classes in android.support.v7.widget.AppCompat. 

Nó khuyến cáo tôi để mở rộng AppCompatImageView nhưng sau đó kiểm tra JUnit tôi không vượt qua vì AppCompatImageView cần có một mô hình Context với tài nguyên và Imageview không cần điều này.

Ở đây vấn đề để giải quyết các vấn đề khác:
NullPointerException creating an AppCompatImageView with mock Context

Tôi có thể bỏ qua lỗi và sử dụng ImageView này? Bất kỳ giải pháp nào khác?

Trả lời

14

Sử dụng AppCompat tiện ích cho phép bạn có một số tính năng thiết kế material design (và các tính năng mới) khác trên các thiết bị có phiên bản Android trước kẹo.

Tại thời điểm này, AppCompatImageView chỉ cung cấp hỗ trợ cho màu nền và bản vẽ vector. Nếu bạn không sử dụng chúng, thì việc mở rộng thông thường ImageView sẽ không sao.

3

Nó không thực sự là một lỗi. Ứng dụng xây dựng thành công đúng không? Nó chỉ là Android Studio đánh dấu nó là lỗi.

Bạn có thể thay đổi điều này thành cảnh báo bằng cách chỉnh sửa cài đặt kiểm tra 'Tiện ích tùy chỉnh Appcompat'.

Các vấn đề liên quan