为什么将ImageView标记为错误?

时间:2017-03-23 10:59:10

标签: android android-view android-support-library android-custom-view android-context

Android Studio在此行标记为错误:

public class ParallaxView extends ImageView

错误:

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.

它建议我延长AppCompatImageView,但之后我的JUnit测试不会通过,因为AppCompatImageView需要一个带有资源的模拟ContextImageview没有&#39}。需要这个。

这里有解决其他问题的问题:
NullPointerException creating an AppCompatImageView with mock Context

我可以忽略此错误并使用ImageView吗?还有其他解决方案吗?

2 个答案:

答案 0 :(得分:17)

使用AppCompat窗口小部件可让您在具有Android前Lollipop版本的设备上拥有一些材料设计(和其他新功能)。

此时AppCompatImageView仅提供对背景色调和矢量绘图的支持。如果您不使用它们,那么扩展常规ImageView就可以了。

答案 1 :(得分:3)

这不是一个错误。该应用程序构建成功吗?它只是Android Studio,将其标记为错误。

您可以通过编辑“Appcompat Custom Widgets”检查设置将其更改为警告。