繁体   English   中英

Android Studio图形编辑器未显示布局图片

[英]android studio graphic editor no showing the layout picture

由于我在Android Studio中正在处理的项目中的某些原因,XML图形编辑器已停止向我显示屏幕布局的图片。 该应用程序本身可以正常运行,并且在设备上可以正常显示布局,但是在编辑器中的计算机屏幕上没有图片。

编辑器显示错误渲染问题-渲染期间引发异常
在详细信息中,它向我显示了java.lang.NullPointerException的堆栈跟踪,并且提示是尝试刷新布局,但这不起作用。 我尝试刷新,重建和进行其他所有可能的刷新,但是没有任何效果。 我检查了我从事过的其他项目,并检查了图形还可以的地方,但是在我当前的项目中却没有。 所以我需要帮助找到问题。

java.lang.NullPointerException
at android.graphics.BidiRenderer.getScriptFont(BidiRenderer.java:290)
at android.graphics.BidiRenderer.getScriptRuns(BidiRenderer.java:280)
at android.graphics.BidiRenderer.renderText(BidiRenderer.java:133)
at android.graphics.BidiRenderer.renderText(BidiRenderer.java:108)
at android.graphics.Paint_Delegate.measureText(Paint_Delegate.java:1310)
at android.graphics.Paint_Delegate.nGetTextAdvances(Paint_Delegate.java:972)
at android.graphics.Paint_Delegate.nGetRunAdvance(Paint_Delegate.java:1147)
at android.graphics.Paint.nGetRunAdvance(Paint.java)
at android.graphics.Paint.getRunAdvance(Paint.java:2729)
at android.text.TextLine.getRunAdvance(TextLine.java:729)
at android.text.TextLine.handleText(TextLine.java:778)
at android.text.TextLine.handleRun(TextLine.java:1018)
at android.text.TextLine.measureRun(TextLine.java:417)
at android.text.TextLine.measure(TextLine.java:310)
at android.text.TextLine.metrics(TextLine.java:281)
at android.text.Layout.measurePara(Layout.java:1966)
at android.text.Layout.getDesiredWidthWithLimit(Layout.java:186)
at android.widget.TextView.onMeasure(TextView.java:8168)
at android.view.View.measure(View.java:22035)
at android.widget.Toolbar.measureChildCollapseMargins(Toolbar.java:1548)
at android.widget.Toolbar.onMeasure(Toolbar.java:1662)
at android.view.View.measure(View.java:22035)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6622)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.widget.ActionBarContainer.onMeasure(ActionBarContainer.java:291)
at android.view.View.measure(View.java:22035)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6622)
at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:378)
at android.view.View.measure(View.java:22035)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:22035)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:590)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:343)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:547)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:681)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

在xml工具栏中,您可以找到刷新按钮,以便它会通知xml中是否有任何警告。 如果使用了自定义布局,则会显示渲染问题。

让我们看一下错误日志:

java.lang.NullPointerException
at android.graphics.BidiRenderer.getScriptFont(BidiRenderer.java:290)

我认为您需要克隆像库模块这样的项目,然后在此方法中添加@Nullable以避免出现异常。

如果视图在运行时呈现良好,但是在布局编辑器中显示预览时仅遇到问题,则应使用isInEditMode()方法,并且如果在布局编辑器中呈现视图,则不应执行不受支持的操作

protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
       if (!isInEditMode()) {
           //custom logic
         }
    }

很抱歉,您的回答对我没有任何帮助。 对我来说,解决方案是在编辑显示仍然有效时返回到我的备份愿景之一,然后从那里开始。 我发现在主题编辑器(三个)中更改太多参数时,会导致导致XML编辑器无法显示布局图片的错误。

多年前刚开始学习编程时,我学到的一件事就是没有很多备份,这是我很高兴能向老师列出来的那一刻。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM