奇妙な問題が発生しています。私はtargetsdk 13でアプリを作っています。
メインアクティビティのonCreateメソッドでgetActionBar()
、アクションバーを設定するために呼び出します。これは、Android 3.2エミュレータで実行すると問題なく機能しますが、Android 3.0および3.1を使用するとgetActionBar()
メソッドはnullを返します。
私はこれを非常に奇妙に思います、そしてそれがそうする理由を私は見ることができません。これはエミュレータのバグですか、それともアプリケーションにアクションバーがあることを確認するために何かする必要がありますか?
SOLUTION:
私はこの問題の解決策を見つけたと思います。アクティビティのレイアウトを設定するためにsetContentViewを使用していませんでした。代わりにfragmentTransaction.add(android.R.id.content, mFragment, mTag)
、アクティビティにフラグメントを追加するために使用していました。これは3.2では問題なく機能しましたが、以前のハニカムバージョンでは、onCreate()
メソッドでsetContentViewを使用しない場合、アクションバーは設定されないようです。したがって、setContentView()
メソッドでメソッドを使用しonCreate()
、空のFrameLayoutを含むレイアウトを提供するだけで修正しました。私はまだ使用できますfragmentTransaction.add(android.R.id.content, mFragment, mTag)
方法は以前と同じようにます。
それは最もきれいな修正ではありませんが、動作します。