2018年4月16日月曜日

Xamarin の C# の Android Framework でメニューを使うには?

 Xamarin + Android Framework でアプリ開発中、Menu の追加にてこずった。
 
 後からメニューを追加しようとして、ネットで探した

public override Boolean OnCreateOptionsMenu (IMenu menu)
{
    MenuInflater.Inflate(Resource.Menu.mymenu, menu);
    return base.OnPrepareOptionsMenu(menu);
}

をコピペしたのだが

エラー CS0115 'xxxActivity.OnCreateOptionsMenu(IMenu)': オーバーライドする適切なメソッドが見つかりませんでした。 

エラー CS0246 型または名前空間の名前 'IMenu' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください)。

とエラーが出る。

OnCreateOptionsMenu() は、Android Framework のメソッドそのままなのに、見つかりませんってどういうこと?と悩むこと10数分。名前空間の指定が足りないのは IMenu の方だった

using Android.Views;

を追加して一件落着。

VS のコード補完は Android Studio より弱いのか。