Android Studio 2.2 Preview 1 Проблемы с рендерингом

Я пробую новую предварительную версию Android Studio 2.2, и по какой-то причине редактор макетов не работает для макетов, созданных в старой версии. Он продолжает говорить мне, что различные ресурсы не найдены ... (например, в файле, который я только что открыл.)

Я что-то упускаю? Есть ли что-то, о чем я не знаю, что я должен был сделать при открытии старого проекта?

Кажется, все в порядке, когда я создаю новый макет. Проблемы возникают только с ранее созданными макетами и меню.

Кто-нибудь еще испытывает это?

Я попытался очистить и восстановить проект.

РЕДАКТИРОВАТЬ

Хорошо, интересно, проблема возникает только для макетов, которые включают другие макеты. Если я удаляю оператор включения, он отображается нормально, но если я добавляю его обратно, он не может найти включенный элемент и вызывает у меня проблему. (Хотя я, по-видимому, могу открыть сам включенный макет, и он отлично отображается...)

ОБНОВИТЬ

По-видимому, это происходит только с тегом слияния. Если включенный макет использует тег слияния, он не будет отображаться, и я получаю следующую ошибку. Если я удаляю слияние и просто использую другой тег макета, он работает нормально.

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)

person Jason Stewart    schedule 24.05.2016    source источник
comment
Это не... Это другое исключение. Я попробовал то, что они предложили - вернуться к 23 (на самом деле это было одним из первых, что я попробовал), но это тоже не сработало.   -  person Jason Stewart    schedule 24.05.2016
comment
Вы наверное что-то напутали   -  person Nongthonbam Tonthoi    schedule 24.05.2016
comment
Столкнувшись с той же проблемой, у меня возникают проблемы с включенным тегом, комментирование тега отображает пользовательский интерфейс, а раскомментирование отображает ошибку, аналогичную вашей. Похоже на баг, надеюсь в следующей сборке исправят.   -  person Rohan Kandwal    schedule 01.06.2016


Ответы (4)


Вы, вероятно, уже решили это, но у меня была такая же проблема с той же ошибкой. Всегда с включенными макетами.

Решение заключалось в том, чтобы аннулировать кеш/перезагрузить в студии Android. Теперь он работает, и в предварительном просмотре отображается макет с включенным макетом.

person alltooconfusingthereforesleep    schedule 30.05.2016
comment
была точно такая же проблема с макетами, вставленными с использованием тега include. Решил проблему. - person Rajeev; 09.06.2016

Нажмите Ctrl+Shift+A (Cmd+Shift+A на Mac?) Напишите «invalidate»

Выберите «Недействительные кеши/Перезапустить».

person Sim    schedule 14.06.2016
comment
Я не думаю, что включения сочетания клавиш достаточно, чтобы отличить это от верхнего ответа, предлагающего то же самое. - person Noumenon; 14.06.2016
comment
Хорошо, если я не знаю, где найти Invalidate Caches? это помощь тем. - person Sim; 14.06.2016

Кажется, многие разработчики сталкивались с этой проблемой. Вы можете пометить его здесь 211183.

Если вы не можете дождаться, когда ребята из Tools это исправят, переключитесь на более старые версии Studio. 2.1 должно работать нормально.

Изменить: исправлено в Preview 5

person Nikola Despotoski    schedule 02.06.2016

Просто удалите эти строки, и, возможно, это будет исправлено.

android:background="?android:attr/windowTitleStyle">

Это происходит, если атрибуты не установлены должным образом.

person Mohammed Huzaifah    schedule 07.11.2016