Android ActionBar没有显示图标

时间:2014-09-11 20:28:47

标签: android android-actionbar

我已经多次看到这个问题了,但是,这些解决方案都没有帮助我。我的问题是我有一个ActionBar菜单,我希望它的项目始终显示在ActionBar而不是下拉菜单上。

我已尝试过诸如" ifRoom","始终"等操作,并且它们仍然只显示下拉菜单中的文字。

菜单:devotional_fragment_actions.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_previous"
        android:icon="@drawable/ic_action_previous_item"
        android:title="@string/previous_action"
        app:showAsAction="always"/>
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_action_go_to_today"
        android:title="@string/date_action"
        app:showAsAction="always"/>
    <item android:id="@+id/action_next"
        android:icon="@drawable/ic_action_next_item"
        android:title="@string/next_action"
        app:showAsAction="always"/>
</menu>

在我的片段上,我有:

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // action bar
    inflater.inflate(R.menu.devotional_fragment_actions, menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // handle item selection of action bar
    switch (item.getItemId()) {
        case R.id.action_search:
            showDatePickerDialog();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

菜单工作正常,但没有按我的意愿显示。感谢

1 个答案:

答案 0 :(得分:2)

在每个项目中使用android命名空间而不是app。您甚至可以删除此命名空间声明xmlns:app="http://schemas.android.com/apk/res-auto"

尝试在下面的代码中设置它:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_previous"
        android:icon="@drawable/ic_action_previous_item"
        android:title="@string/previous_action"
        android:showAsAction="always"/>
</menu>