2012-08-01 18 views
1

我有一個應用程序,設計與隱藏在所有意圖的標題欄。我想利用Activity.openOptionsMenu()從一個按鈕。它在2.2上工作正常,但是當我在蜂窩上運行應用程序時,調用openOptionsMenu()似乎不起作用。有另一種方法嗎?openOptionsMenu()跨Android版本

點擊這裏的代碼,如果它很重要。這是我的mapview活動,擴展MapView:

OnClickListener ocl = new OnClickListener() 
    { 

    @Override 
    public void onClick (View v) 
    { 
     switch (v.getId()) 
     { 
      case R.id.b_options: 
            Log.d (TAG, "options clicked"); 
            mymapview.this.openOptionsMenu(); 
      break; 

      case R.id.b_prev: 
            Log.d (TAG, "prev clicked"); 
      break; 
     } 

    } 
    }; 
+0

我們發現openOptionsMenu在一些設備(galaxy nexus,nexus s,emulator)上工作正常,但對其他設備沒有任何作用。這是非常蹩腳的。 – cidermonkey 2012-08-20 19:22:47

+0

我在這裏找到了最終的工作解決方案:http://stackoverflow.com/a/17903128/784982 – Lisitso 2013-09-14 10:12:54

回答

1

你的應用程序中是否有ActionBar?我相信openOptionsMenu()僅適用於Honeycomb中的伴隨ActionBar。 ICS不會返回菜單按鈕,但不再需要用於openOptionsMenu()的ActionBar。

+0

如果我爲蜂窩添加ActionBar,它會在Android 2.2上運行嗎?似乎不太可能。 – wufoo 2012-08-01 18:02:16

+0

不,它不會默認。你需要使用[ActionBarSherlock](http://actionbarsherlock.com/)。 – Tushar 2012-08-01 18:04:10

+0

很奇怪。今天openOptionsMenu()神祕地工作,如我所料。我可以將其歸因於的唯一一件事就是重新啓動平板電腦。 – wufoo 2012-08-02 20:27:30