NoClassDefFoundError: android.support.v7.widget.helper.ItemTouchHelper$3

Posted

技术标签:

【中文标题】NoClassDefFoundError: android.support.v7.widget.helper.ItemTouchHelper$3【英文标题】: 【发布时间】:2017-12-19 07:32:52 【问题描述】:

您好,我想在RecyclerView 上创建滑动删除,结果是崩溃:

看看build.gradle,我导入了所有需要的库。在代码中我可以使用ItemTouchHelper 类,但是当我想刷一个项目时它会崩溃。

build.gradle

compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:recyclerview-v7:25.0.0'
compile 'com.android.support:cardview-v7:25.0.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
compile 'com.android.support:support-v13:25.0.0'
compile 'com.android.support:design:25.0.0'

崩溃:

致命异常:主要 java.lang. 在 android.support.v7.widget.helper.ItemTouchHelper.select(ItemTouchHelper.java:608) 在 android.support.v7.widget.helper.ItemTouchHelper$2.onTouchEvent(ItemTouchHelper.java:389) 在 android.support.v7.widget.RecyclerView.dispatchOnItemTouch(RecyclerView.java:2519) 在 android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2662) 在 android.view.View.dispatchTouchEvent(View.java:9300) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2547) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2240) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254) 在 com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403) 在 com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737) 在 android.app.Activity.dispatchTouchEvent(Activity.java:2771) 在 android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:67) 在 android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:67) 在 com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364) 在 android.view.View.dispatchPointerEvent(View.java:9520) 在 android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230) 在 android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096) 在 android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) 在 android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695) 在 android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661) 在 android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787) 在 android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669) 在 android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844) 在 android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) 在 android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695) 在 android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661) 在 android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669) 在 android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642) 在 android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922) 在 android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896) 在 android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5857) 在 android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewR

【问题讨论】:

recyclerview-v7:25.3.1 抱歉,更新到 25.3.1 并不能解决我的问题 【参考方案1】:

几天前遇到了这个问题。 在我的情况下,它是通过更新所有 com.android.support:* 依赖项从 25.3.1 到 26.0.0 来修复的。并确保他们都使用相同的版本。 希望它会对某人有所帮助。

【讨论】:

以上是关于NoClassDefFoundError: android.support.v7.widget.helper.ItemTouchHelper$3的主要内容,如果未能解决你的问题,请参考以下文章

java.lang.NoClassDefFoundError

NoClassDefFoundError

NoClassDefFoundError

Androidx 迁移:NoClassDefFoundError

关于NoClassDefFoundError错误

毕业:java.lang.NoClassDefFoundError