我使用动作栏sherlock并在菜单中设置自定义布局:
<item
android:id="@+id/action_menu"
android:actionLayout="@layout/menu_item"
android:icon="@drawable/b_menu"
android:orderInCategory="1"
android:showAsAction="always"/>
<item
android:id="@+id/action_audio"
android:actionLayout="@layout/audio_item"
android:icon="@drawable/b_audio"
android:orderInCategory="2"
android:showAsAction="always"/>
<item
android:id="@+id/action_mySong_details"
android:actionLayout="@layout/my_song_properties"
android:icon="@drawable/b_mysong"
android:orderInCategory="2"
android:showAsAction="always"/>
控制我使用的项目:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/** Create an option menu from res/menu/items.xml */
getSherlock().getMenuInflater().inflate(R.menu.main_tab, menu);
/** Get the action view of the menu item whose id is search */
View v = (View) menu.findItem(R.id.action_menu).getActionView();
Button b = (Button) v.findViewById(R.id.btnMenu);
return super.onCreateOptionsMenu(menu);
}
由于某种原因,操作栏添加了不必要的项目,是否有人知道这种情况如何发生?
答案 0 :(得分:0)
您正在使用操作栏sherlock。所以使用SupportMenuInflater。
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.layout.menu, menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_menu:
// Intent i=new Intent(A.this,B.class);
//startActivity(i);
return true;
}
return false;
}
答案 1 :(得分:0)
我发现了错误:我从所有项目中删除了android:orderInCategory,现在没关系,我这个例子我不需要这个选项。