10

編輯包含Android Studio 3.0中的ConstraintLayout元素的佈局時遇到問題。ConstraintLayout不能在GUI編輯器中工作Android Studio 3.0 - Canary 4

我的依賴關係如下:

 project.ext.support_library_version = '26.0.0-beta2' 

     dependencies { 
      compile 'com.android.support.constraint:constraint-layout:1.1.0-beta1' 
      compile "com.android.support:palette-v7:${project.ext.support_library_version}" 
      compile "com.android.support:support-v13:${project.ext.support_library_version}" 
      compile "com.android.support:customtabs:${project.ext.support_library_version}" 
      compile "com.android.support:cardview-v7:${project.ext.support_library_version}" 
     ... 
} 

在用戶界面編輯器顯示的錯誤是:

The following classes could not be instantiated: 
- android.support.constraint.ConstraintLayout (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. 

的堆棧跟蹤表示如下:

java.lang.AssertionError: Entries for a declare-styleable should be after the array declaration. 
    at com.android.tools.idea.res.AppResourceRepository.getDeclaredArrayValues(AppResourceRepository.java:634) 
    at com.android.tools.idea.res.ResourceClassGenerator.generateStyleable(ResourceClassGenerator.java:249) 
    at com.android.tools.idea.res.ResourceClassGenerator.generate(ResourceClassGenerator.java:120) 
    at com.android.tools.idea.res.ResourceClassRegistry.findClassDefinition(ResourceClassRegistry.java:102) 
    at org.jetbrains.android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.java:101) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.jetbrains.android.uipreview.ModuleClassLoader.loadClass(ModuleClassLoader.java:215) 
    at android.support.constraint.ConstraintLayout.init(ConstraintLayout.java:494) 
    at android.support.constraint.ConstraintLayout.<init>(ConstraintLayout.java:466) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:481) 
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:264) 
    at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:222) 
    at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:206) 
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:337) 
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:348) 
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:248) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:334) 
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:382) 
    at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193) 
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:591) 
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:739) 
    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) 

清洗/建築/無效的緩存等。沒有幫助。請注意,該應用程序功能完美,只有UI編輯器不再工作。 誰面臨同樣的問題,或有解決方案?

+0

該設置適用於我,沒有錯誤。 – azizbekian

回答

21

支持庫26.0.0-beta2存在問題 - 您需要切換回測試版1才能在Android Studio中工作。

+1

謝謝你解決了上面提到的問題。我希望它也能幫助別人! – Peter

+0

非常感謝!我一直使用約束2天沒有預覽,這是不愉快的 –

相關問題