2014-02-24 108 views
0

我試圖添加ActionBar按鈕,但不必爲每個活動創建單獨的.xml文件。這裏是代碼:無法將按鈕動態添加到ActionBar

@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; 
    } 

但問題是,安卓的minSdkVersion爲7,這裏是錯誤消息我得到setShowAsAction:

呼叫需要API級別11(當前分鐘是7): android.view.MenuItem#setShowAsAction

我如何動態地添加按鈕,並繼續支持minSdk 7?

+0

http://developer.android.com/reference/android/ support/v4/view/MenuItemCompat.html – Luksprog

回答

0

您可以嘗試Android的支持-V4磁帶庫或Actionbar Sherlock

+0

我忘了提及我正在使用AppCompat – Omar

0

的解決方案是使用已棄用的功能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; 
    }