我有一个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)