2013-04-16 247 views
2

我有一個活動顯示一個飼料項目,它有一個上下文菜單來完成操作,如共享,添加到您的收藏夾等我已經將項目從上下文菜單移動到選項菜單,所以它可以直接從操作欄執行操作。但是選項菜單沒有顯示在操作欄中(它之前顯示過)。我還沒有將任何操作添加到項目中,但它們應該顯示在選項菜單中。選項菜單(操作欄)不顯示

FeedItemActivity:

package com.mfavez.android.feedgoal; 

someimports.... 
import com.mfavez.android.feedgoal.storage.SharedPreferencesHelper; 


public class FeedItemActivity extends Activity { 

private static final String LOG_TAG = "FeedItemActivity"; 
private static final int KILL_ACTIVITY_CODE = 1; 

private DbFeedAdapter mDbFeedAdapter; 
private long mItemId = -1; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    //only show bar for honeycomb and over 
    int currentAPIVersion = android.os.Build.VERSION.SDK_INT; 

    if (currentAPIVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) { 

    ActionBar bar = getActionBar(); 
    bar.setDisplayHomeAsUpEnabled(true); 
    bar.show(); 
    } 
    //end of actionbardisplay 

    mDbFeedAdapter = new DbFeedAdapter(this); 
    mDbFeedAdapter.open(); 

    TrackerAnalyticsHelper.createTracker(this); 

    mItemId = savedInstanceState != null ? savedInstanceState.getLong(DbSchema.ItemSchema._ID) : -1; 

    if (mItemId == -1) { 
     Bundle extras = getIntent().getExtras();    
     mItemId = extras != null ? extras.getLong(DbSchema.ItemSchema._ID) : -1; 
    } 

    Item item = mDbFeedAdapter.getItem(mItemId); 
    if (item.isFavorite()) 
     setContentView(R.layout.item_favorite); 
    else 
     setContentView(R.layout.item_notfavorite); 

    /* 
    * To test ads in emulator, remove ads:loadAdOnCreate="true" in layout 
    if (SharedPreferencesHelper.useAdmob(this)) { 
     int resourceId = getResources().getIdentifier("adView", "id", this.getPackageName()); 
     AdView adView = (AdView)this.findViewById(resourceId); 
     //AdView adView = (AdView)this.findViewById(R.id.adView); 
     AdRequest request = new AdRequest(); 
     request.addTestDevice(AdRequest.TEST_EMULATOR); 
     adView.loadAd(request); 
    } 
    */ 
    AdRequest request = new AdRequest(); 
    request.addTestDevice(AdRequest.TEST_EMULATOR); 

    TextView title = (TextView)findViewById(R.id.title); 
    title.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      TrackerAnalyticsHelper.trackEvent(FeedItemActivity.this,LOG_TAG,"Link_Title",mDbFeedAdapter.getItem(mItemId).getLink().toString(),1); 
      adjustLinkableTextColor (v); 
      startItemWebActivity(); 
     } 
    }); 

    TextView channel = (TextView)findViewById(R.id.channel); 
    channel.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Feed feed = mDbFeedAdapter.getFeed(mDbFeedAdapter.getItemFeedId(mItemId)); 
      String channelHomepage = feed.getHomePage().toString(); 
      TrackerAnalyticsHelper.trackEvent(FeedItemActivity.this,LOG_TAG,"Link_Channel",channelHomepage,1); 
      adjustLinkableTextColor (v); 
      if (SharedPreferencesHelper.isOnline(FeedItemActivity.this)) { 
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(channelHomepage)); 
       startActivity(intent); 
      } else 
       showDialog(SharedPreferencesHelper.DIALOG_NO_CONNECTION); 
     } 
    }); 

    Button read_online = (Button)findViewById(R.id.read); 
    read_online.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      TrackerAnalyticsHelper.trackEvent(FeedItemActivity.this,LOG_TAG,"Button_ReadOnline",mDbFeedAdapter.getItem(mItemId).getLink().toString(),1); 
      startItemWebActivity(); 
     } 
    }); 

    registerForContextMenu(findViewById(R.id.item)); 
} 

private void startItemWebActivity() { 
    if (SharedPreferencesHelper.isOnline(FeedItemActivity.this)) { 
     Intent intent = new Intent(FeedItemActivity.this, FeedWebActivity.class); 
     intent.putExtra(DbSchema.ItemSchema._ID, mItemId); 
     startActivity(intent); 
    } else 
     showDialog(SharedPreferencesHelper.DIALOG_NO_CONNECTION); 
} 

private void adjustLinkableTextColor (View v) { 
    TextView textView = (TextView) v; 
    textView.setTextColor(R.color.color2); 

} 

private void displayItemView() { 
    if (mItemId != -1) { 
     Item item = mDbFeedAdapter.getItem(mItemId); 
     TextView titleView = (TextView) findViewById(R.id.title); 
     TextView channelView = (TextView) findViewById(R.id.channel); 
     TextView pubdateView = (TextView) findViewById(R.id.pubdate); 
     TextView contentView = (TextView) findViewById(R.id.content); 
     if (titleView != null) 
      titleView.setText(item.getTitle()); 
     if (channelView != null) { 
      Feed feed = mDbFeedAdapter.getFeed(mDbFeedAdapter.getItemFeedId(mItemId)); 
      if (feed != null) 
       channelView.setText(feed.getTitle()); 
     } 
     if (pubdateView != null) { 
      //DateFormat df = new SimpleDateFormat(getResources().getText(R.string.pubdate_format_pattern); 
      //pubdateView.setText(df.format(item.getPubdate())); 
      CharSequence formattedPubdate = DateFormat.format(getResources().getText(R.string.pubdate_format_pattern), item.getPubdate()); 
      pubdateView.setText(formattedPubdate); 
     } 
     if (contentView != null) { 
      String content_description = item.getContent(); 
      if (content_description == null) 
       content_description = item.getDescription(); 
      if (content_description != null) 
       //contentView.setText(content_description,TextView.BufferType.SPANNABLE); 
       contentView.setText(content_description); 
     } 

     // set item as read (case when item is displayed from next/previous contextual menu or buttons) 
     ContentValues values = new ContentValues(); 
     values.put(DbSchema.ItemSchema.COLUMN_READ, DbSchema.ON); 
     mDbFeedAdapter.updateItem(mItemId, values, null); 

     TrackerAnalyticsHelper.trackPageView(this,"/offlineItemView"); 
    } 
} 

@Override 
protected void onStart() { 
    super.onStart(); 
    TrackerAnalyticsHelper.startTracker(this); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    displayItemView(); 
} 

@Override 
protected void onStop() { 
    super.onStop(); 
    TrackerAnalyticsHelper.stopTracker(this); 
} 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    mDbFeedAdapter.close(); 
} 

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putLong(DbSchema.ItemSchema._ID, mItemId); 
} 

//--------------------------------------------------------------- 
//Problems is around here I think! 
//--------------------------------------------------------------- 


public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 

    MenuInflater inflater = getMenuInflater(); 
    Item item = mDbFeedAdapter.getItem(mItemId); 

    if (SharedPreferencesHelper.isDynamicMode(this)) { 

     if (item != null) { 
      long feedId = mDbFeedAdapter.getItemFeedId(mItemId); 
      boolean isFirstItem = false; 
      boolean isLastItem = false; 
      if (mItemId == mDbFeedAdapter.getFirstItem(feedId).getId()) 
       isFirstItem = true; 
      else if (mItemId == mDbFeedAdapter.getLastItem(feedId).getId()) 
       isLastItem = true; 

      if (item.isFavorite()) { 
       if (isFirstItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_notfav_next, menu); 
       else if (isLastItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_notfav_prev, menu); 
       else 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_notfav_next_prev, menu); 
      } else { 
       if (isFirstItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_fav_next, menu); 
       else if (isLastItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_fav_prev, menu); 
       else 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_fav_next_prev, menu); 
      } 
     } 

     MenuItem channelsMenuItem = (MenuItem) menu.findItem(R.id.menu_opt_channels); 
     channelsMenuItem.setIntent(new Intent(this,FeedChannelsActivity.class)); 
    } else { 

     if (item != null) { 
      long feedId = mDbFeedAdapter.getItemFeedId(mItemId); 
      boolean isFirstItem = false; 
      boolean isLastItem = false; 
      if (mItemId == mDbFeedAdapter.getFirstItem(feedId).getId()) 
       isFirstItem = true; 
      else if (mItemId == mDbFeedAdapter.getLastItem(feedId).getId()) 
       isLastItem = true; 

      if (item.isFavorite()) { 
       if (isFirstItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_notfav_next, menu); 
       else if (isLastItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_notfav_prev, menu); 
       else 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_notfav_next_prev, menu); 
      } else { 
       if (isFirstItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_fav_next, menu); 
       else if (isLastItem) 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_fav_prev, menu); 
       else 
        inflater.inflate(R.menu.ctx_menu_item_dyn_offline_fav_next_prev, menu); 
      } 
     } 

     // Channels menu item 
     if (mDbFeedAdapter.getFeeds().size() > 1) { 
      MenuItem channelsMenuItem = (MenuItem) menu.findItem(R.id.menu_opt_channels); 
      SubMenu subMenu = channelsMenuItem.getSubMenu(); 

      List<Feed> feeds = mDbFeedAdapter.getFeeds(); 
      Iterator<Feed> feedIterator = feeds.iterator(); 
      Feed feed = null; 
      MenuItem channelSubMenuItem = null; 
      Intent intent = null; 
      int order = 0; 
      while (feedIterator.hasNext()) { 
       feed = feedIterator.next(); 
       channelSubMenuItem = subMenu.add(SharedPreferencesHelper.CHANNEL_SUBMENU_GROUP, Menu.NONE, order, feed.getTitle()); 

       if (feed.getId() == SharedPreferencesHelper.getPrefTabFeedId(this, mDbFeedAdapter.getFirstFeed().getId())) 
        channelSubMenuItem.setChecked(true); 

       intent = new Intent(this, FeedTabActivity.class); 
       intent.putExtra(DbSchema.FeedSchema._ID, feed.getId()); 
       channelSubMenuItem.setIntent(intent); 

       order++; 
      } 

      subMenu.setGroupCheckable(SharedPreferencesHelper.CHANNEL_SUBMENU_GROUP, true, true); 
     } else { 
      menu.removeItem(R.id.menu_opt_channels); 
     } 
    } 

    // Home menu item 
    MenuItem menuItem = (MenuItem) menu.findItem(R.id.menu_opt_home); 
    menuItem.setIntent(new Intent(this, FeedTabActivity.class));  

    // Preferences menu item 
    MenuItem preferencesMenuItem = (MenuItem) menu.findItem(R.id.menu_opt_preferences); 
    preferencesMenuItem.setIntent(new Intent(this,FeedPrefActivity.class)); 

    return true; 
} 

public boolean onOptionsItemSelected(MenuItem item) { 
     //using icon to go up in honeycomb and higher 
     switch (item.getItemId()) 
     {   
      case android.R.id.home:    
      Intent intent = new Intent(this, FeedTabActivity.class);    
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(intent);    
      return true;   
      default:    
     } 
     //thats it 
    switch (item.getItemId()) { 
     case R.id.menu_opt_home: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"OptionMenu_Home","Home",1); 
      // Kill the FeedTabActivity that started this FeedItemActivity, because tab channel id may have changed and wouldn't be correct (wouldn't be the initial FeedTabActivity channel id) if back button is pressed 
      setResult(RESULT_OK); 
      startActivity(item.getIntent()); 
      //finish(); 
      return true; 
     case R.id.menu_opt_channels: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"OptionMenu_Channels","Channels",1); 
      if (SharedPreferencesHelper.isDynamicMode(this)) { 
       // Kill the FeedTabActivity that started this FeedItemActivity, because tab channel id may have changed and wouldn't be correct (wouldn't be the initial FeedTabActivity channel id) if back button is pressed 
       setResult(RESULT_OK); 
       startActivityForResult(item.getIntent(),KILL_ACTIVITY_CODE); 
      } else { 
       //do nothing, default case will be handled 
      } 
      return true; 
     case R.id.menu_opt_preferences: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"OptionMenu_Preferences","Preferences",1); 
      startActivity(item.getIntent()); 
      return true; 
     case R.id.menu_opt_about: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"OptionMenu_AboutDialog","About",1); 
      showDialog(SharedPreferencesHelper.DIALOG_ABOUT); 
      return true; 
     default: 
      if (item.getGroupId() == SharedPreferencesHelper.CHANNEL_SUBMENU_GROUP) { 
       // Kill the FeedTabActivity that started this FeedItemActivity, because tab channel id is now changing and won't be correct (won't be the initial FeedTabActivity channel id) if back button is pressed 
       setResult(RESULT_OK); 
       startActivity(item.getIntent()); 
       //finish(); 
       return true; 
      } 
    } 
    return super.onOptionsItemSelected(item); 
} 



@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    super.onActivityResult(requestCode, resultCode, intent); 

    switch(requestCode) { 
     case KILL_ACTIVITY_CODE: 
      if (resultCode == RESULT_OK) 
       finish(); 
      break; 
     } 
} 

public void onCreateContextMenu (ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 

    if (v.getId() == R.id.item) { 
     menu.setHeaderTitle (R.string.ctx_menu_title); 
     MenuInflater inflater = getMenuInflater(); 

     Item item = mDbFeedAdapter.getItem(mItemId); 

     if (item != null) { 
      long feedId = mDbFeedAdapter.getItemFeedId(mItemId); 
      boolean isFirstItem = false; 
      boolean isLastItem = false; 
      if (mItemId == mDbFeedAdapter.getFirstItem(feedId).getId()) 
       isFirstItem = true; 
      else if (mItemId == mDbFeedAdapter.getLastItem(feedId).getId()) 
       isLastItem = true; 

      if (item.isFavorite()) { 
       if (isFirstItem) 
        inflater.inflate(R.menu.ctx_menu_item_offline_notfav_next, menu); 
       else if (isLastItem) 
        inflater.inflate(R.menu.ctx_menu_item_offline_notfav_prev, menu); 
       else 
        inflater.inflate(R.menu.ctx_menu_item_offline_notfav_next_prev, menu); 
      } else { 
       if (isFirstItem) 
        inflater.inflate(R.menu.ctx_menu_item_offline_fav_next, menu); 
       else if (isLastItem) 
        inflater.inflate(R.menu.ctx_menu_item_offline_fav_prev, menu); 
       else 
        inflater.inflate(R.menu.ctx_menu_item_offline_fav_next_prev, menu); 
      } 
     } 
    } 
} 


public boolean onContextItemSelected(MenuItem menuItem) { 
    Item item = mDbFeedAdapter.getItem(mItemId); 
    ImageView favView = (ImageView) findViewById(R.id.fav); 
    ContentValues values = null; 
    Intent intent = null; 
    long feedId = -1; 

    switch (menuItem.getItemId()) { 
     case R.id.read_online: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"ContextMenu_ReadOnline",item.getLink().toString(),1); 
      startItemWebActivity(); 
      return true; 
     case R.id.add_fav: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"ContextMenu_AddFavorite",item.getLink().toString(),1); 
      //item.favorite(); 
      values = new ContentValues(); 
      values.put(DbSchema.ItemSchema.COLUMN_FAVORITE, DbSchema.ON); 
      mDbFeedAdapter.updateItem(mItemId, values, null); 
      favView.setImageResource(R.drawable.fav); 
      Toast.makeText(this, R.string.add_fav_msg, Toast.LENGTH_SHORT).show(); 
      return true; 
     case R.id.remove_fav: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"ContextMenu_RemoveFavorite",item.getLink().toString(),1); 
      //item.unfavorite(); 
      Date now = new Date(); 
      long diffTime = now.getTime() - item.getPubdate().getTime(); 
      long maxTime = SharedPreferencesHelper.getPrefMaxHours(this) * 60 * 60 * 1000; // Max hours expressed in milliseconds 
      // test if item has expired 
      if (maxTime > 0 && diffTime > maxTime) { 
       AlertDialog.Builder builder = new AlertDialog.Builder(this); 
       builder.setMessage(R.string.remove_fav_confirmation) 
         .setCancelable(false) 
         .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           ContentValues values = new ContentValues(); 
           values.put(DbSchema.ItemSchema.COLUMN_FAVORITE, DbSchema.OFF); 
           ImageView favView = (ImageView) findViewById(R.id.fav); 
           favView.setImageResource(R.drawable.no_fav); 
           mDbFeedAdapter.updateItem(mItemId, values, null); 
           Toast.makeText(FeedItemActivity.this, R.string.remove_fav_msg, Toast.LENGTH_SHORT).show(); 
          } 
         }) 
         .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int id) { 
           dialog.cancel(); 
          } 
         }); 
       builder.create().show(); 
      } else { 
       values = new ContentValues(); 
       values.put(DbSchema.ItemSchema.COLUMN_FAVORITE, DbSchema.OFF); 
       mDbFeedAdapter.updateItem(mItemId, values, null); 
       favView.setImageResource(R.drawable.no_fav); 
       Toast.makeText(this, R.string.remove_fav_msg, Toast.LENGTH_SHORT).show(); 
      } 
      return true; 
     case R.id.next: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"ContextMenu_NextItem",item.getLink().toString(),1); 
      feedId = mDbFeedAdapter.getItemFeedId(mItemId); 
      intent = new Intent(this, FeedItemActivity.class); 
      intent.putExtra(DbSchema.ItemSchema._ID, mDbFeedAdapter.getNextItemId(feedId, mItemId)); 
      startActivity(intent); 
      finish(); 
      return true; 
     case R.id.previous: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"ContextMenu_PreviousItem",item.getLink().toString(),1); 
      feedId = mDbFeedAdapter.getItemFeedId(mItemId); 
      intent = new Intent(this, FeedItemActivity.class); 
      intent.putExtra(DbSchema.ItemSchema._ID, mDbFeedAdapter.getPreviousItemId(feedId, mItemId)); 
      startActivity(intent); 
      finish(); 
      return true; 
     case R.id.share: 
      TrackerAnalyticsHelper.trackEvent(this,LOG_TAG,"ContextMenu_Share",item.getLink().toString(),1); 
      item = mDbFeedAdapter.getItem(mItemId); 
      if (item != null) { 
       Intent shareIntent = new Intent(Intent.ACTION_SEND); 
       shareIntent.putExtra(Intent.EXTRA_SUBJECT, String.format(getString(R.string.share_subject), getString(R.string.app_name))); 
       shareIntent.putExtra(Intent.EXTRA_TEXT, item.getTitle() + " " + item.getLink().toString()); 
       shareIntent.setType("text/plain"); 
       startActivity(Intent.createChooser(shareIntent, getString(R.string.share))); 
      } 
      return true; 
     default: 
      return super.onContextItemSelected(menuItem); 
    } 
} 

@Override 
protected Dialog onCreateDialog(int id) { 
    Dialog dialog = null; 
    CharSequence title = null; 
    LayoutInflater inflater = null; 
    View dialogLayout = null; 
    AlertDialog.Builder builder = null; 
    switch (id) { 
     case SharedPreferencesHelper.DIALOG_ABOUT: 
      //title = getResources().getText(R.string.app_name) + " - " + getResources().getText(R.string.version) + " " + SharedPreferencesHelper.getVersionName(this); 
      title = getString(R.string.app_name) + " - " + getString(R.string.version) + " " + SharedPreferencesHelper.getVersionName(this); 

      /* 
      * Without cancel button 
      dialog = new Dialog(this); 
      dialog.setContentView(R.layout.dialog_about); 
      dialog.setTitle(title); 
      */ 
      inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 
      dialogLayout = inflater.inflate(R.layout.dialog_about, null); 
      TextView childView = null; 
      if (getString(R.string.website).equals("")) { 
       childView = (TextView) dialogLayout.findViewById(R.id.website); 
       childView.setVisibility(View.GONE); 
      } 
      if (getString(R.string.email).equals("")) { 
       childView = (TextView) dialogLayout.findViewById(R.id.email); 
       childView.setVisibility(View.GONE); 
      } 
      if (getString(R.string.contact).equals("")) { 
       childView = (TextView) dialogLayout.findViewById(R.id.contact); 
       childView.setVisibility(View.GONE); 
      } 
      if (getString(R.string.powered).equals("")) { 
       childView = (TextView) dialogLayout.findViewById(R.id.powered); 
       childView.setVisibility(View.GONE); 
      } 
      builder = new AlertDialog.Builder(this); 
      builder.setView(dialogLayout) 
        .setTitle(title) 
        .setIcon(R.drawable.ic_dialog) 
        .setNeutralButton(R.string.close, new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          dialog.cancel(); 
         } 
        }); 
      dialog = builder.create(); 
      break; 
     case SharedPreferencesHelper.DIALOG_NO_CONNECTION: 
      title = getString(R.string.error); 
      inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 
      dialogLayout = inflater.inflate(R.layout.dialog_no_connection, null); 
      builder = new AlertDialog.Builder(this); 
      builder.setView(dialogLayout) 
        .setTitle(title) 
        .setIcon(R.drawable.ic_dialog) 
        .setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          dialog.cancel(); 
         } 
        }); 
      dialog = builder.create(); 
      break; 
     default: 
      dialog = null; 
     } 
     return dialog; 
    } 
} 

我的老FeedItemActivity: http://pastebin.com/4rV9uq15

我hopy有人可以幫助我,非常感謝你!

+0

當按下設備或模擬器的MENU按鈕時會發生什麼? – CommonsWare

+0

在我的nexus 4上,沒有顯示菜單按鈕,這意味着如果有任何事情將不會發生。但我會在模擬器上測試 – Mdlc

+0

剛剛測試過,遺憾的是沒有任何反應。 – Mdlc

回答

0

如果你想在底部的操作欄中設置菜單,請在清單中使用它。

android:uiOptions="splitActionBarWhenNarrow" 

或者如果u要設置在頂部操作欄中ü必須使用XML,否則如果菜單點擊

+0

正在顯示操作欄,選項菜單與setcontentview之前的操作欄一起工作,以確保我剛剛嘗試過您的解決方案,但不幸的是沒有更改 – Mdlc

+0

觀看我的編輯.. –

+0

謝謝你試圖幫助我,但問題在於右上角的菜單按鈕(http://goo.gl/uSt8V)根本沒有顯示出來,實際上除了標題和徽標以外,沒有任何東西顯示在操作欄中。 – Mdlc

0

我認爲這個問題是你永遠膨脹的菜單這裏

它只會顯示
public boolean onCreateOptionsMenu(Menu menu) { 
super.onCreateOptionsMenu(menu); 

MenuInflater inflater = getMenuInflater(); 
Item item = mDbFeedAdapter.getItem(mItemId); 

您創建您的充氣器,但不使用它。將其更改爲

public boolean onCreateOptionsMenu(Menu menu) { 
super.onCreateOptionsMenu(menu); 

MenuInflater inflater = getMenuInflater(); 
inflater.inflate((R.menu.mainmenu, menu); // you forgot this line here where mainmenu is your menu xml 
Item item = mDbFeedAdapter.getItem(mItemId); 
+0

我正在使用我的充氣機,但我用它幾行後,我試圖加載不同的菜單佈局文件,如果項目是最喜歡的,動態,靜態,第一項,最後一項等。也許我做錯了,但我不知道在哪裏。 – Mdlc