2014-01-18 98 views
0

我在我的應用程序中使用Google我的跟蹤代碼hereAndroid選項菜單不可見/不叫

雖然在應用程序本身菜單欄是可見的。當我將它集成到我的應用程序中時,我看不到菜單欄。

代碼是完全一樣的。

在下面的代碼中,我看不到system.out.println消息。

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

    System.out.println("Menu created"); 
    getMenuInflater().inflate(R.menu.track_list, menu); 

    menu.findItem(R.id.track_list_feedback) 
     .setVisible(ApiAdapterFactory.getApiAdapter().isGoogleFeedbackAvailable()); 

    searchMenuItem = menu.findItem(R.id.track_list_search); 
    ApiAdapterFactory.getApiAdapter().configureSearchWidget(this, searchMenuItem, trackController); 

    startGpsMenuItem = menu.findItem(R.id.track_list_start_gps); 
    refreshMenuItem = menu.findItem(R.id.track_list_refresh); 
    exportAllMenuItem = menu.findItem(R.id.track_list_export_all); 
    importAllMenuItem = menu.findItem(R.id.track_list_import_all); 
    deleteAllMenuItem = menu.findItem(R.id.track_list_delete_all); 
    return true; 
    } 

如果它有什麼不同,除了從這個項目導入的其他所有活動,我不使用菜單欄。

回答

0

如果此代碼位於片段內,請確保您在onCreate()中調用setHasOptionsMenu(true)此片段的方法。

+0

這是一個FragmentActivity,它表示setHasOptionsMenu對於該類型是未定義的 – ghostrider

+0

該函數必須在Fragment中。有一個鏈接到javadoc:http://developer.android.com/reference/android/app/Fragment.html#setHasOptionsMenu(boolean) –