Otrzymuję komunikat "nosuchmethod error" na niektórych telefonach użytkownika (np. Motorola Razr i), ale działa dobrze na moim HTC. Poniżej znajduje się kod.Dlaczego funkcja getDrawable() nie działa na niektórych urządzeniach z systemem Android?
Drawable rBlack;
rBlack = getResources().getDrawable(R.drawable.rblack, getTheme());
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)
A jeśli mogę użyć tego kodu:
flipButton.setImageDrawable(getDrawable(R.drawable.rblack));
otrzymuję ten błąd
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)
Która część tego wyrażenia złożonego zawiedzie (wskazówka, złamać go w wielu wierszach, a następnie dodawać ślad stosu). Gdzie dokładnie zdefiniowano R.drawable.rblack? Czy może znajdować się w jednym folderze, ale nie w innym? –
java.lang.NoSuchMethodError: org.myclass.getDrawable ... rBlack znajduje się tylko w folderze do rysowania, a nie w innym hdpi, ldpi itp. Czy to może być problem? – savante
Dodaj ślad stosu z logcat – Squonk