Android 无法将按钮动态添加到ActionBar

Android 无法将按钮动态添加到ActionBar,android,android-actionbar,android-actionbar-compat,Android,Android Actionbar,Android Actionbar Compat,我试图添加ActionBar按钮,但不必为每个活动创建单独的.xml文件。代码如下: @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 0, 0, R.string.ic_refresh_str).setIcon(R.drawable.ic_action_refresh); return true; } 按钮没有出现。如果我将代码修改为以下代码,它将起作用

我试图添加ActionBar按钮,但不必为每个活动创建单独的.xml文件。代码如下:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

        menu.add(0, 0, 0, R.string.ic_refresh_str).setIcon(R.drawable.ic_action_refresh);
        return true;
    }
按钮没有出现。如果我将代码修改为以下代码,它将起作用:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

        menu.add(0, 0, 0, R.string.ic_refresh_munawwat).setIcon(R.drawable.ic_action_refresh)
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
        return true;
    }
但问题是android:minSdkVersion是7,下面是我在setShowAsAction上得到的错误消息:

调用需要API级别11(当前最小值为7): android.view.MenuItem#setShowAsAction

@SuppressWarnings("deprecation")
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuItem item = menu.add(0, 0, 0, R.string.ic_refresh_txt).setIcon(R.drawable.ic_action_refresh);
        MenuCompat.setShowAsAction(item, 2);

        return true;
    }

如何动态添加按钮并保持对minSdk 7的支持?

您可以尝试android-support-v4库或

解决方案是使用不推荐使用的函数MenuCompat.setShowAsAction

@SuppressWarnings("deprecation")
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuItem item = menu.add(0, 0, 0, R.string.ic_refresh_txt).setIcon(R.drawable.ic_action_refresh);
        MenuCompat.setShowAsAction(item, 2);

        return true;
    }

我忘了提到我正在使用AppCompat