JAVA CardView在SDK版本28中消失

时间:2019-01-03 12:35:42

标签: java android xml android-studio android-layout

我刚刚遵循了一个在线教程,该教程在JAVA(tutorial I used)中创建CardView。当我使用SDK版本26时,会出现视图,但是,当我将应用程序更改为版本27或28时,卡视图也会更改,否则我将无法看到它。抱歉,这似乎是一个愚蠢的问题,但是我找不到最新版本的任何文档。enter image description here

这是我的Activity_Main.xml:

 <android.support.v7.widget.CardView android:layout_width="300dp"
                                            android:layout_height="170dp"
                                            android:layout_margin="10dp">

            ...

        </android.support.v7.widget.CardView>

我的摇篮:

compileSdkVersion 28
targetSdkVersion 28
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'

最好,我希望它可以对多个SDK版本具有灵活性,并且可以在将来的SDK版本中得到支持。如果有其他选择,我会很乐意使用。

2 个答案:

答案 0 :(得分:0)

检查是否没有将资源放在特定于版本的文件夹中。在 Project 透视图中打开您的项目,并检查资源文件夹是否不是 foldername-v26 之类的文件,如果是,请将位置更改为常规位置,以便可以访问在每个API级别都可以使用。

答案 1 :(得分:0)

UPDATE =我将其从CardView更改为ButtonBarLayout(只是为了看看是否会有所作为),并且我收到一个新错误。这是否意味着问题出在项目中而不是CardView上?我还附上了收到的错误消息。 Picture of new error.

java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener
at org.jetbrains.android.uipreview.ModuleClassLoader.load(ModuleClassLoader.java:180)
at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:61)
at org.jetbrains.android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.java:118)
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:213)
at android.support.v7.widget.ButtonBarLayout.onMeasure_Original(ButtonBarLayout.java:134)
at android.support.v7.widget.ButtonBarLayout.onMeasure(ButtonBarLayout.java)
at android.view.View.measure(View.java:22035)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6622)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1167)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:687)
at android.view.View.measure(View.java:22035)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6622)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
at android.view.View.measure(View.java:22035)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6622)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure(View.java:22035)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:22035)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:590)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:343)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:544)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:678)
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)