1

動的に作成されたメニューを 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あるはずです。
4

0 に答える 0