アプリに Actionbarsherlock を追加し、アクションバーにサブメニューを追加しました。エミュレーター (v2.2) では問題なく動作します。自分の電話 (v4.1.2) にインストールすると、アクションバーが表示されません。
これがメインクラスのコードです
@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu subMenu1 = menu.addSubMenu("Action Item");
subMenu1.add("Sample");
subMenu1.add("Menu");
subMenu1.add("Items");
MenuItem subMenu1Item = subMenu1.getItem();
subMenu1Item.setIcon(R.drawable.abs__ic_menu_moreoverflow_normal_holo_dark);
subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
マニフェストに以下を設定しました
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
これをv4.1.2以降で機能させるために何が欠けているかについてのアイデアはありますか?
EDIT SetContectView の前に設定されている Java 側 (動的なもの) にテーマを設定しています。これはアクションバーを削除しているようです
activity.setTheme(R.style.Theme_BlackRed);
それを設定する行を削除して、設定されずにアクションバーが表示されるようにしました。したがって、問題は、テーマを設定するこのスタイルでアクションバーを表示するように設定する方法です
たとえば、theme.xml 内
<style name="Theme" parent="android:Theme">
</style>
<style name="Theme.BlackRed">
<!-- Number of item -->
</style>