動的に作成されたメニューを xml に変換し、ActionBarSherlock を取得して正しく膨張させようとしています。アクションバーに何かを置いているので、正しいことをしています。しかし、結果は奇妙なものではありません。
私は何か間違ったことをしていますか、それともこれはバグですか?
ここに私の res/menu/editor.xml があります
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_save" android:showAsAction="always|withText" android:title="Save" android:visible="true"/>
<menu android:id="@+id/menu_para" android:showAsAction="always|withText" android:title="H" android:visible="true">
<item android:id="@+id/para_h1" android:showAsAction="always|withText" android:title="H1" android:visible="true"/>
<item android:id="@+id/para_h2" android:showAsAction="always|withText" android:title="H2" android:visible="true"/>
<item android:id="@+id/para_h3" android:showAsAction="always|withText" android:title="H3" android:visible="true"/>
<item android:id="@+id/para_h4" android:showAsAction="always|withText" android:title="H4" android:visible="true"/>
<item android:id="@+id/para_h5" android:showAsAction="always|withText" android:title="H5" android:visible="true"/>
<item android:id="@+id/para_text" android:showAsAction="always|withText" android:title="T" android:visible="true"/>
</menu>
<menu android:id="@+id/menu_bullets" android:showAsAction="always|withText" android:title="*1" android:visible="true">
<item android:id="@+id/bullets_dots" android:showAsAction="always|withText" android:title="*" android:visible="true"/>
<item android:id="@+id/bullets_numbers" android:showAsAction="always|withText" android:title="1" android:visible="true"/>
</menu>
<menu android:id="@+id/menu_em" android:showAsAction="always|withText" android:title="i-B" android:visible="true">
<item android:id="@+id/em_italic" android:showAsAction="always|withText" android:title="i" android:visible="true"/>
<item android:id="@+id/em_bold" android:showAsAction="always|withText" android:title="B" android:visible="true"/>
<item android:id="@+id/em_both" android:showAsAction="always|withText" android:title="iB" android:visible="true"/>
</menu>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings">
</item>
</menu>
これが私のonCreateOptionsMenuです
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
Log.i("MyApp", "About to run inflater");
MenuInflater menuInflater = getSupportMenuInflater();
menuInflater.inflate(R.menu.editor, menu);
Log.i("MyApp", "Inflate done");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
Log.i("MyApp", "About to run inflater");
MenuInflater menuInflater = getSupportMenuInflater();
menuInflater.inflate(R.menu.editor, menu);
Log.i("MyApp", "Inflate done");
return super.onCreateOptionsMenu(menu);
}
私が最初に調査をしなかったと思う人のために、ここに私のインポートがあります
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.MenuInflater;
import android.os.Bundle;
import android.util.Log;
結果
そのまま
アクションバーに表示される 4 つのボタン
SAVE
- 現在何もしていませんSAVE
- H1、H2、H3、...、H6、T を含むメニューを開きます*
- 何もしない1
- 何もしない
最初の <item> を削除すると、タイトルが「保存」のもの
2 つのボタン
*
- 何もしない1
- 何もしない
奇妙さ
- タイトルが「保存」の <item> は 1 つだけです。
- アイテムがないと
SAVE
、ヘッダーのサブメニューが完全に消え、タイトルが間違っています。 *
サブメニューに1
あるはずです。