2016-08-18 82 views
0

我是新來的android開發,C#和沒有經驗組件的東西。我正在使用Xamarin android,並且目前遇到工具欄菜單項的問題。我想要的是,當其中一個項目被按下時,它會調用另一個函數。目前我不知道如何獲得該項目的ID。以下是我的代碼。如何獲取工具欄菜單項的ID?

public override bool OnOptionsItemSelected(IMenuItem item) 
     { 
      Type thing = item.GetType(); 
      String id = FindViewById <thing> (V002.Resource.Id.menu_edit); 

      if (id == "menu_edit") { 
      } 
      Toast.MakeText(this, "Action selected: " + item.TitleFormatted, 
       ToastLength.Short).Show(); 
      return base.OnOptionsItemSelected(item); 
     } 
    } 

回答

0
public override bool OnOptionsItemSelected(IMenuItem item) 
     { 
      Type thing = item.GetType(); 
      String id = item.ItemId; 
      switch(id){ 
       case Resource.Id.menu_edit: 
       // - Do whatever you want to do here 
       return true; 
      } 
      Toast.MakeText(this, "Action selected: " + item.TitleFormatted, 
       ToastLength.Short).Show(); 
      default: 
       return base.OnOptionsItemSelected(item); 
     } 
    } 
+0

當我嘗試 「字符串ID = item.getItemId();」,我得到如下:錯誤CS1061:類型'Android.Views.IMenuItem '不包含定義'getItemId' 和沒有找到類型爲「Android.Views.IMenuItem」的擴展方法'getItemId'。 –

+0

我更新了我的答案 – Rahul

+0

奇怪的是,item.ItemId給你一個整數,而不是一個字符串 –