[Android] getActionBar() で NoSuchMethodError

Thu, June 13, 2013 - 1 min read

Android アプリ開発で、2.3 とかも動作対象端末にしたい場合、getActionBar() ではなく ActionBarSherlock の getSupportActionBar() を使うようにする。

getActionBar() を使うと NoSuchMethodError というエラーが発生してしまう。

スレッド [<1> main] (中断中 (例外 NoSuchMethodError))  
    
  TutorialActivity.onCreate(Bundle) 行: 40  
  Instrumentation.callActivityOnCreate(Activity, Bundle) 行: 1047  
  ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) 行: 1615  
  ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) 行: 1667  
  ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) 行: 117  
  ActivityThread$H.handleMessage(Message) 行: 935  
  ActivityThread$H(Handler).dispatchMessage(Message) 行: 99  
  Looper.loop() 行: 123  
  ActivityThread.main(String[]) 行: 3691  
  Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) 行: 使用不可 [ネイティブ・メソッド]  
  Method.invoke(Object, Object...) 行: 507  
  ZygoteInit$MethodAndArgsCaller.run() 行: 864  
  ZygoteInit.main(String[]) 行: 622  
  NativeStart.main(String[]) 行: 使用不可 [ネイティブ・メソッド]  

うっかりミス