我有一个RecclerView列表,最近在布局Activity_main.xml中出现了一个"呈现问题":

Java.lang.NoSuchFieldError:ACTION_SCROLL_IN_DIRECTION 在androidx.core.view.accessibility.AccessibilityNodeInfoCompat$Api34Impl.getActionScrollInDirection(AccessibilityNodeInfoCompat.java:5592)[the rest of the stack error is shown below]

谷歌一个针对Android漏洞的在线论坛表示,这个问题可能是 "实现‘androidx.core:core:1.12.0’",这在下一个Alpha版本中得到了解决. 因此,我加载了"Implementation‘androidx.core:core:1.13.0-alpha01’",但这并没有消除这个问题.

对这个问题有什么 idea ,怎么解决?

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>

<androidx.coordinatorlayout.widget.CoordinatorLayout

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF"
    android:paddingBottom="5dp"
    tools:context=".MainActivity"  >

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <androidx.appcompat.widget.Toolbar

            android:id="@+id/toolbar_main"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >

            <androidx.appcompat.widget.AppCompatImageButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/action_logo"
                android:title="@string/action_logo"
                android:contentDescription="@string/action_logo"
                android:src="@drawable/ic_toolbar_logo_foreground"
                android:background="#FFFFFF"
                android:gravity="start"
                android:clickable="true"
                android:focusable="true"
                app:showAsAction="always" />

            </androidx.appcompat.widget.Toolbar>

        </com.google.android.material.appbar.AppBarLayout>

    <RelativeLayout

        android:layout_width="match_parent"
        android:layout_height="match_parent"

        app:layout_behavior="com.google.android.material.appbar.
AppBarLayout$ScrollingViewBehavior"
        android:layout_marginStart="6dp"
        android:layout_marginLeft="6dp"
        android:layout_marginTop="5dp"
        android:layout_marginEnd="6dp"
        android:layout_marginRight="6dp"
        tools:context=".MainActivity"
        android:background="@color/colorFlLabelFinal"  >

        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/filterListTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_marginStart="14dp"
            android:layout_marginTop="4dp"
            android:layout_toStartOf="@+id/sortListTV"
            android:text="@string/filter"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/text_primary"
            android:textStyle="italic"
            app:drawableLeftCompat="@drawable/ic_filter_list_white_24dp"
            app:drawableStartCompat="@drawable/ic_filter_list_white_24dp" />

        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/quickListTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="6dp"
            android:text="@string/quicklist"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/text_primary"
            android:textStyle="bold"
            android:tooltipText="sort quicklist by default"
            tools:targetApi="o" />

        <androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/sortListTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="4dp"
            android:layout_marginEnd="14dp"
            android:text="@string/sort"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/text_primary"
            android:textStyle="italic"
            app:drawableEndCompat="@drawable/ic_sort_white_24dp"
            app:drawableRightCompat="@drawable/ic_sort_white_24dp" />

        <include layout="@layout/content_main"
            android:layout_below="@+id/quickListTV"
            android:layout_width="match_parent"
            android:layout_height="match_parent"  />

    </RelativeLayout>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/button_add_note"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@drawable/ic_add"
        android:contentDescription="@string/newcardbutton" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Full stack of the render problem:

java.lang.NoSuchFieldError: ACTION_SCROLL_IN_DIRECTION
at androidx.core.view.accessibility.AccessibilityNodeInfoCompat$Api34Impl.getActionScrollInDirection(AccessibilityNodeInfoCompat.java:5592)
at androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat.<clinit>(AccessibilityNodeInfoCompat.java:748)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.updateAccessibilityActions(AppBarLayout.java:1846)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.setHeaderTopBottomOffset(AppBarLayout.java:2082)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.setHeaderTopBottomOffset(AppBarLayout.java:1458)
at com.google.android.material.appbar.HeaderBehavior.setHeaderTopBottomOffset(HeaderBehavior.java:158)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.onLayoutChild(AppBarLayout.java:1792)
at com.google.android.material.appbar.AppBarLayout$Behavior.onLayoutChild(AppBarLayout.java:1439)
at com.google.android.material.appbar.AppBarLayout$BaseBehavior.onLayoutChild(AppBarLayout.java:1458)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout_Original(CoordinatorLayout.java:953)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java)
at android.view.View.layout_Original(View.java:23694)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:23680)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout_Original(View.java:23694)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:23680)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103)
at android.view.View.layout_Original(View.java:23694)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:23680)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout_Original(View.java:23694)
at android.view.View_Delegate.layout(View_Delegate.java:91)
at android.view.View.layout(View.java:23680)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:377)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:450)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:122)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:701)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$8(RenderTask.java:848)
at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$3.run(RenderExecutor.kt:200)
at com.android.tools.idea.rendering.RenderExecutor$PriorityRunnable.run(RenderExecutor.kt:298)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)

推荐答案

try 移动:

app:layout_behavior="com.google.android.material.appbar.
AppBarLayout$ScrollingViewBehavior"

RelativeLayout(?!?)到AppBarLayout本身.这是基于根本性问题上的this comment.另请参阅this SO question.

Android相关问答推荐

修改参数应该应用于哪些子元素?

Jetpack编写Lazy列滑动删除动画不顺利结束

当我在Android上运行应用程序时,组件会随机调整大小和移动

不能在LazyGrid-Jetpack Compose中使用填充最大宽度或填充父项最大宽度

在Jetpack Compose中,如何判断屏幕是否已重新组合?

FireBase Android ChildEventListener在被规则拒绝时触发(RTDB)

在更改MuableState的值后,Android API 26(Oreo)上的Composable不能重新组合

仅当先前输入为 yes 时,Android 才会要求下一个输入

如何禁用自动登录 google play games services android unity?

Jetpack Compose 中的用户在线指示器

通过 setIntentScanningStrategyEnabled(true) 未检测到信标的 Android Beacon 库后台扫描

如何在 Jetpack Compose 中对齐按钮底部中心?

在单元测试下断言协程未完成

java.lang.ExceptionInInitializerError -- 原因:java.lang.NullPointerException

NFC getNdefMessage 在 Android 13 上写入标签后返回 null

如何绘制内边框?

在 Jetpack Compose 中重用具有重复代码的列

如何将一个 Composable 作为其参数传递给另一个 Composable 并在 Jetpack Compose 中显示/运行它

try 使用 ViewPager2 实现滑动视图时出现类型不匹配错误

Android Compose 创建抖动动画