为什么getDrawable()在某些Android设备上不起作用?

学者

我在某些用户的电话(例如Motorola Razr i)上收到“ nosuchmethod错误”,但在HTC上工作正常。下面是代码。

Drawable rBlack;
rBlack = getResources().getDrawable(R.drawable.rblack, getTheme());

和Stacktrace:

java.lang.NoSuchMethodError: android.content.res.Resources.getDrawable
at org.petero.droidfish.myClass.onCreate(myClass.java:434)
at android.app.Activity.performCreate(Activity.java:5248)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2173)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2269)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:803)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:619)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)

如果我使用此代码:

flipButton.setImageDrawable(getDrawable(R.drawable.rblack));

我得到这个错误

java.lang.NoSuchMethodError: org.myclass.getDrawable
at org.myclass.onCreate(myclass.java:435)
at android.app.Activity.performCreate(Activity.java:5248)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2173)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2269)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:803)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:619)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
克里斯·斯蒂尔威尔

我敢打赌,它getDrawable(R.drawable.rblack, getTheme());在API 21中添加的失败。将该行更改为:

if(android.os.Build.VERSION.SDK_INT >= 21){
    rBlack = getResources().getDrawable(R.drawable.rblack, getTheme());
} else {
    rBlack = getResources().getDrawable(R.drawable.rblack);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

UIButton在某些设备上不起作用

为什么getExternalFilesDirs()在某些设备上不起作用?

AVAudioSession在某些蓝牙设备上不起作用

Android颜色在我的物理设备上不起作用

与nginx的SSL套接字连接在某些android和ios设备上不起作用

目标_BLANK在某些设备上不起作用

Android setVisibility在某些逻辑上不起作用

WorkManager退避延迟在某些设备上不起作用

Expo-speech在某些iOS设备上不起作用

PlayerPrefs在Android设备上不起作用

为什么Filemanager在android kivymd上不起作用?

为什么SETUID在Raspberry Pi上不起作用?

Web音频在某些设备上不起作用(Panner音频)

当我使用Chrome时,为什么SuperGenPass在某些站点上不起作用?

为什么'ipconfig'在Windows 7上不起作用

地理位置API在某些Android设备上不起作用

为什么我的代码在设备上不起作用,但在模拟器上起作用?

UTF-8在某些Android设备上不起作用

REST API在Android设备上不起作用

为什么paper.js路径创建在iOS设备上不起作用?

AngularJS在某些浏览器/设备上不起作用

为什么多播接收在某些Android设备上不起作用?

iOS Open Url在某些设备上不起作用

canvas toDataUrl()在android设备上不起作用

为什么 Flutter 电话认证在我的真实设备上不起作用

为什么文件访问方法 getExternalStorageDirectory() 在 Android 10 (API 29) 上不起作用

为什么我的 HTML 复选框在移动设备上不起作用?

为什么 CSS 在某些路由上不起作用?

CameraX:setTargetResolution() 在某些设备上不起作用