问题 AppCompatTextView无法实例化


我在确定如何解决此错误时遇到问题。
我尝试使缓存/重启无效,释放磁盘空间并重新安装Android Studio。

The following classes could not be instantiated:
    - android.support.v7.widget.AppCompatTextView(Open Class, Show Exception, Clear Cache)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE.If this is an unexpected error you can also
try to build the project, then manually refresh the layout.Exception Details java.lang.NullPointerException
    at android.content.res.Resources_Delegate.getValue(Resources_Delegate.java: 788)   
    at android.content.res.Resources.getValue(Resources.java: 1286)   
    at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java: 212)   
    at android.support.v4.content.res.ResourcesCompat.getFont(ResourcesCompat.java: 206)   
    at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119)   
    at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208)   
    at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:152)   
    at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38)   
    at android.support.v7.widget.AppCompatTextView. < init > (AppCompatTextView.java:81)   
    at android.support.v7.widget.AppCompatTextView. < init > (AppCompatTextView.java: 71)   
    at java.lang.reflect.Constructor.newInstance(Constructor.java: 423)   
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)   
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)   
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)   
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java: 858)   
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)   
    at android.view.LayoutInflater.rInflate(LayoutInflater.java: 834)   
    at android.view.LayoutInflater.inflate(LayoutInflater.java: 492)   
    at com.android.layoutlib.bridge.bars.CustomBar. < init > (CustomBar.java:95)   
    at com.android.layoutlib.bridge.bars.StatusBar. < init > (StatusBar.java: 67)   
    at com.android.layoutlib.bridge.impl.Layout.createStatusBar(Layout.java: 224)   
    at com.android.layoutlib.bridge.impl.Layout. < init > (Layout.java: 146)

9674
2017-09-07 13:02


起源

你有没有将android.support.v4和android.support.v7添加到你的项目中? - Juan
您是否以某种方式扩展TextView? - Ewald
什么是 Ehm...?尝试构建项目 - Vladyslav Matviienko
我如何检查我是否有android.support.v4和v7?是不是 build.gradle ? - Kenyon Tan
同样的问题今天在这里与v7:26.0.1 - lacas


答案:


这似乎是一个错误: 将maven.google.com添加为maven repo时预览渲染问题。

如果在项目级build.gradle中使用新的maven repo,则会触发它:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

不幸的是,我们似乎没有其他来源的最新支持库版本(26及以上) 它们显然不再出现在SDK Manager中

支持库现在可以通过Google的Maven获得   库。我们不再支持通过以下方式下载库   SDK Manager,即将删除该功能。

所有这些说,这个问题似乎只会影响Android Studio中的设计师。即使设计师抱怨,您也应该能够构建和运行应用程序。

您显然无法做到的是看到布局的TextView元素的快速预览。

最后, 设计师预览似乎没有这个特定的bug 在 Android Studio v3,目前处于测试阶段。因此,您可能希望升级并查看它是如何工作的。


8
2017-09-19 22:45



是的,这就是布局渲染问题的原因! - Sharp Edge
我面临同样的问题。我正在使用ad mob集成为此我在gradle文件中添加了maven line,正如文档中提到的那样。一旦我在gradle文件中添加了上面的maven代码和依赖项,我开始面临问题,如果从gradle中删除maven和广告存储库,它就可以正常工作。如果我想使用广告暴徒依赖,可以做些什么? - Abdul Waheed
我建议尝试使用Android Studio 3.但是,如果在Android Studio 3中仍然出现此问题,那么请回复一下。 - albert c braun


请参阅此答案 这里。 将当前主题父更新为 Base 主题 styles.xml 似乎工作。


1
2017-09-25 14:42