java.lang.NoSuchMethodError:没有静态方法setOnApplyWindowInsetsListener

时间:2016-08-19 23:47:27

标签: android oncreate appcompatactivity

我将我的android工作室升级到2.1.3。现在我收到了以下错误

py_func

java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener(Landroid/view/View;Landroid/support/v4/view/OnApplyWindowInsetsListener;)V in class Landroid/support/v4/view/ViewCompatLollipop; or its super classes (declaration of 'android.support.v4.view.ViewCompatLollipop' appears in /data/data/com.restroshop.restroowner/files/instant-run/dex/slice-internal_impl-24.2.0_7c318f8d2adb03d07a9def5d35a14e39204ecef2-classes.dex) at android.support.v4.view.ViewCompat$LollipopViewCompatImpl.setOnApplyWindowInsetsListener(ViewCompat.java:1619) at android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener(ViewCompat.java:2924) at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:425) at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.restroshop.restroowner.splash.SplashScreen.onCreate(SplashScreen.java:65) at android.app.Activity.performCreate(Activity.java:6033) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)

我的代码段是

setContentView(R.layout.activity_splash_screen);

我不知道升级时究竟出了什么问题。

2 个答案:

答案 0 :(得分:24)

我将我的android工作室升级到2.1.3。现在我收到了以下错误

我也遇到同样的问题。但我按照以下方式解决了。

此异常的原因是从v7库派生的AppcompatActivity。所以我们应该根据你的gradle和SDK提供合适的库。

  1. 也应该更新依赖库。
  2. 右键单击项目结构中的项目 - >选择打开模块设置并选择依赖项选项卡 - >库模块 - >然后键入要添加到项目的库。它会根据您的gradle更新版本显示最新的库,然后选择最新的库并删除现有库。
  3. 例如在我的项目“appcompat-v7”版本是23.4.0然后我被改为24.2.0。

答案 1 :(得分:17)

由于同一个库的多个版本,我遇到了这个错误。

compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.jakewharton:butterknife:8.5.1'

奶油刀正在添加新版本的appcombat lib。 我用

检查了一下
./gradlew -q dependencies app:dependencies

gradle的工作方式会自动将库更新为新库版本(如果有)。 所以我添加了以下代码

compile('com.jakewharton:butterknife:8.5.1') {
    exclude module: 'appcompat-v7'
    exclude group: 'com.android.support'
}

之后它运作良好。