代码之家  ›  专栏  ›  技术社区  ›  JarsOfJam-Scheduler

androidstudio3.1.4:类缺失和蓝图显示不正确

  •  1
  • JarsOfJam-Scheduler  · 技术社区  · 6 年前

    我在ubuntu18.04.1上使用androidstudio3.1.4。我想快速创建主(默认)活动的UI,所以打开了布局编辑器。出现了一些错误。然后我尝试添加一个按钮:它似乎没有显示在蓝图中(和 ConstraintLayout 也奇怪地显示出来)。

    在StackOverflow中也提出了类似的问题。答案是使用不同版本的Android支持库。目前,我正在使用以下版本:

    implementation 'com.android.support:appcompat-v7:28.0.0-rc01' (文件: build.gradle(Module: app) ).

    事实上,即使Android工作室推荐我使用 28.0.0-rc02 https://mvnrepository.com/artifact/com.android.support/design?repo=google .

    顺便说一下,我遇到了所有提到的错误与 28.0.0-rc02型 我也是。在rsum中,我遇到了 28.0.0-rc01 28.0.0-rc02型 . 我暂时没有尝试其他版本。

    使用 implementation 'com.android.support:appcompat-v7:27.1.1

    implementation 'com.android.support:appcompat-v7:27.1.1'

    1. 这不是最后一个版本( https://mvnrepository.com/artifact/com.android.support/design?repo=谷歌 表示最新版本为: 28.0.0-rc02型 -两个错误)

    2. Android studio红色下划线my implementation

    enter image description here

    打开布局编辑器时出错

    无法加载AppCompat ActionBar,出现未知错误。

    1. 无法实例化以下类

    -android.support支持.v7版本。widget.ActionBarContextView(打开类,显示异常,清除缓存) -android.support支持.v7版本。应用程序WindowDecorActionBar(打开类,显示异常,清除缓存)

    异常详细信息:

    java.lang.ClassNotFoundException类: android.view.view视图$OnUnhandledKeyEventListener 在org.jetbrains.android网站.uipreview.ModuleClassLoader.findClass类(ModuleClassLoader.java:118) 在java.lang.ClassLoader类加载器.loadClass类(ClassLoader.java:424) 在org.jetbrains.android网站.uipreview.ModuleClassLoader.loadClass类(ModuleClassLoader.java:213) 在android.support支持.v7版本。widget.ActionBarContainer.(ActionBarContainer.java:62) 在sun.reflect.nativeConstructor附件模板.newInstance(本机)structorAccessorImpl.java:62) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(委派控制)structorAccessorImpl.java:45) 在java.lang.reflect文件.构造函数.newInstance(构造函数。java:423) 在org.jetbrains.android网站.uipreview.ViewLoader.loadClass(ViewLoader.java:264) 在org.jetbrains.android网站.uipreview.ViewLoader.loadView(java:222) 在com.android.tools工具.idea.rendering.LayoutlibCallbackImpl布局.loadView(左)java:209) 在android.view.bridge充气机.加载自定义视图(BridgeInflater.java:348) 在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 在android.view.LayoutInflater.rInflate\原件(LayoutInflater.java:863) 在android.view.layoutiner\u委托.rInflate(布局平坦器)_Delegate.java:72个) 在android.view.LayoutInflater.充气(LayoutInflater.java:515) 在com.android.layoutlib布局.bridge.bar.BridgeActionBar.(BridgeActionBar.java:89) 在com.android.layoutlib布局.bridge.bars.appcompationbar文件.(AppCompatActionBar.java:68) 在com.android.layoutlib布局.桥架安装布局.创建操作栏(布局。java:277) 在com.android.layoutlib布局.桥架安装布局.(布局。java:161) 在com.android.layoutlib布局.桥.impl.RenderSessionImpl.充气(RenderSessionImpl.java:288) 在com.android.layoutlib布局.bridge.bridge.createSession创建会话(桥.爪哇:384) 在com.android.tools工具.idea.layoutlib.LayoutLibrary布局库.创建会话(布局库.java:193) 在com.android.tools工具.idea.rendering.RenderTask文件.createRenderSession创建(RenderTask.java:544) 在com.android.tools工具.idea.rendering.RenderTask文件.lambda$充气$3(RenderTask.java:678) 在java.util.concurrent文件.未来任务.run(未来任务.java:266) 在java.util.concurrent文件.ThreadPool执行器$工人.run(ThreadPoolExecutor.java:617)

    蓝图问题-我的UI中有什么?

    实例),如您所见(注意 似乎在蓝图中被描绘成一个很小的正方形- 那是蓝图的问题,不是吗? ):

    enter image description here

    如果我在蓝图中拖放一个带有文本“TEST”的按钮,我会得到这个(注意这个按钮。。。不是真的出现了,只有一个奇怪的东西显示在广场内):

    enter image description here

    我在这个广场上点击了几下,里面有个奇怪的东西。我得到了一个新的例外:

    我的问题

    我有点迷失在这些错误和例外之中。我该怎么办?我又在看文件了( https://developer.android.com/training/basics/firstapp/building-ui )但它们似乎没有这种奇怪的行为(我指的是在蓝图中显示我的按钮的问题,以及在这个问题中复制/粘贴的异常)。

    我应该使用哪个版本的Android支持库?特别是:我应该怎么做才能使用最新版本?(或者 rc-1 ,或 rc-2 -Android工作室推荐 钢筋混凝土-2 https://mvnrepository.com/artifact/com.android.support/design?repo=谷歌

    2 回复  |  直到 6 年前
        1
  •  1
  •   5ec20ab0    6 年前

    支持库的最新版本仍在开发中,可能包含bug

    implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
    
        2
  •  0
  •   rusito23    6 年前

    app:layout_constraintEnd_toEndOf="parent"
    

    应该这样做。