最近我在AndroidNoSuchMethodError
26版中遇到了TabLayout.onTabSelectedListener
的sdk
,但是在sdk
22版中引入了此方法,这是什么问题?我已经检查并确保已安装所有必需的sdk
工具。
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
tabLayout2[0] = (LinearLayout) ((ViewGroup) tabLayout.getChildAt(0)).getChildAt(tab.getPosition());
tabTextView[0] = (TextView) tabLayout2[0].getChildAt(1);
tabTextView[0].setTypeface(null, Typeface.BOLD);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
tabLayout2[0] = (LinearLayout) ((ViewGroup) tabLayout.getChildAt(0)).getChildAt(tab.getPosition());
tabTextView[0] = (TextView) tabLayout2[0].getChildAt(1);
tabTextView[0].setTypeface(null, Typeface.NORMAL);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
这些是我的依赖项
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:support-v13.26.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
我的完整错误日志
03-30 09:23:30.411 21900 21900 D AndroidRuntime: Shutting down VM
03-30 09:23:30.411 21900 21900 E AndroidRuntime: FATAL EXCEPTION: main
03-30 09:23:30.411 21900 21900 E AndroidRuntime: Process: sdk.at.dbs.example.com.testsdk, PID: 21900
03-30 09:23:30.411 21900 21900 E AndroidRuntime: java.lang.NoSuchMethodError: No virtual method addOnTabSelectedListener(Landroid/support/design/widget/TabLayout$OnTabSelectedListener;)V in class Landroid/support/design/widget/TabLayout; or its super classes (declaration of 'android.support.design.widget.TabLayout' appears in /data/app/sdk.at.dbs.example.com.testsdk-2/base.apk:classes2.dex)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at com.tetralogiq.at.member.ui.home.HomeCardStackActivity.c(HomeCardStackActivity.java:354)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at com.tetralogiq.at.member.ui.home.HomeCardStackActivity.onCreate(HomeCardStackActivity.java:145)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6942)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.app.ActivityThread.-wrap14(ActivityThread.java)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6682)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
03-30 09:23:30.411 21900 21900 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
您应考虑更新您的库:
implementation 'com.android.support:design:28.0.0
implementation 'com.android.support:support-v4:28.0.0