我在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'
-
这不是最后一个版本(
https://mvnrepository.com/artifact/com.android.support/design?repo=谷歌
表示最新版本为:
28.0.0-rc02型
-两个错误)
-
Android studio红色下划线my
implementation
打开布局编辑器时出错
-
无法加载AppCompat ActionBar,出现未知错误。
-
无法实例化以下类
-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中有什么?
实例),如您所见(注意
似乎在蓝图中被描绘成一个很小的正方形-
那是蓝图的问题,不是吗?
):
如果我在蓝图中拖放一个带有文本“TEST”的按钮,我会得到这个(注意这个按钮。。。不是真的出现了,只有一个奇怪的东西显示在广场内):
我在这个广场上点击了几下,里面有个奇怪的东西。我得到了一个新的例外:
我的问题
我有点迷失在这些错误和例外之中。我该怎么办?我又在看文件了(
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=谷歌