我正在尝试新的Android Studio 2.2 Preview,并且出于某种原因,布局编辑器不适用于在旧版本中创建的布局。它一直告诉我找不到各种资源......(就在我刚刚打开的文件中。)
我错过了什么吗?有什么东西我不知道我在打开一个旧项目时应该做的吗?
创建新布局时似乎没问题。它只是以前创建的布局和菜单似乎有问题。
有其他人遇到过这种情况吗?
我尝试过清理并重建项目。
修改
好的有趣 - 问题似乎只发生在包含其他布局的布局上。如果我删除include语句它会呈现正常,但如果我将其添加回来,则无法找到包含的项目并给我一个问题。 (即使我可以显然打开包含的布局本身,它也很好......)
更新
显然,只有合并标签才会发生这种情况。如果包含的布局使用合并标记,它将不会呈现,我得到以下错误。如果我删除合并,只使用另一个布局标记,它似乎工作正常。
android.content.res.Resources$NotFoundException: Could not find layout resource matching value 0x7FFF03A2 (resolved name: item_monster_edit) in current configuration.
at android.content.res.Resources_Delegate.throwException(Resources_Delegate.java:913)
at android.content.res.Resources_Delegate.throwException(Resources_Delegate.java:900)
at android.content.res.Resources_Delegate.getLayout(Resources_Delegate.java:437)
at android.content.res.Resources.getLayout(Resources.java:1111)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:136)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:902)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:854)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:317)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:534)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:534)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$41(RenderTask.java:660)
at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:380)
at com.android.tools.idea.rendering.RenderTask.inflate(RenderTask.java:660)
at com.android.tools.idea.uibuilder.model.NlModel.inflate(NlModel.java:321)
at com.android.tools.idea.uibuilder.model.NlModel.render(NlModel.java:378)
at com.android.tools.idea.uibuilder.surface.DesignSurface$3.modelChanged(DesignSurface.java:794)
at com.android.tools.idea.uibuilder.model.NlModel.lambda$notifyListenersModelUpdateComplete$52(NlModel.java:454)
at java.lang.Iterable.forEach(Iterable.java:75)
at com.android.tools.idea.uibuilder.model.NlModel.notifyListenersModelUpdateComplete(NlModel.java:454)
at com.android.tools.idea.uibuilder.model.NlModel.updateModel(NlModel.java:368)
at com.android.tools.idea.uibuilder.model.NlModel$1.run(NlModel.java:231)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:333)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:323)
at com.intellij.util.ui.update.MergingUpdateQueue$3.run(MergingUpdateQueue.java:267)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:282)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:234)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:378)
at com.intellij.util.Alarm$Request.run(Alarm.java:389)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:227)
at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:187)
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)
答案 0 :(得分:3)
你可能已经解决了这个问题,但我遇到了同样的错误。始终包含布局。
解决方案是在Android studio中使缓存/重启无效。现在它正在工作,预览显示包含布局的布局。
答案 1 :(得分:2)
按Ctrl + Shift + A(Mac上的Cmd + Shift + A?) 写“无效”
选择“使缓存无效/重新启动”
答案 2 :(得分:1)
答案 3 :(得分:0)
只需删除这些行,然后就可以修复
android:background="?android:attr/windowTitleStyle">
如果没有正确设置属性,就会发生这种情况。