SherlockActionBarにボタンを追加しようとしていますが、機能させることができません。
これは私が持っているコードです:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
Android.view.MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, (Android.view.Menu) menu);
return super.onCreateOptionsMenu(menu);
}
これは私の menu.xml
コード:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:id="@+id/save_button"
Android:title="i"
Android:showAsAction="always" />
</menu>
これは機能しません。メニューボタンを押しても何も表示されません。他に方法はありますか?私は間違いをしていますか?
AndroidのMenuとMenuInflaterを使用していますが、ActionBarSherlockに付属するクラスを使用する必要があります。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, (com.actionbarsherlock.view.Menu) menu);
return super.onCreateOptionsMenu(menu);
}
今、あなたは2つを混ぜ合わせているようです。 Android対応するものではなく、com.actionbarsherlock.view.Menuおよびcom.actionbarsherlock.view.MenuInflaterのみをインポートするようにしてください。次のようなことをお勧めします。
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
Menu.xmlだと思います。アイテムでAndroid:showAsAction属性が完全に宣言されていません。次のように宣言する必要があります。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:id="@+id/save_button"
Android:title="i"
Android:showAsAction="always|withText" />
</menu>
アイテムのアイコンを指定していないため、アクションバーはアイテムを表示できません。デフォルトでは、アイコンはテキストよりも表示されます。