2016-05-24 12 views
0

OnCreateで: SetHasOptionsMenu(true);OnOptionsItemSelectedはフラグメントxamarinで呼び出されませんでした。android

public override bool OnOptionsItemSelected(IMenuItem menu) 
     { 
      menu.SetChecked (true); 
      switch (menu.ItemId) { 
      case Resource.Id.selecta: 
       Toast.MakeText (Application.Context, "Top", ToastLength.Long); 

       return true; 
      case Resource.Id.selectb: 
       Toast.MakeText (Application.Context, "New", ToastLength.Long); 

       return true; 
      } 
      return base.OnOptionsItemSelected (menu); 

     } 
     public override void OnCreateOptionsMenu(Android.Views.IMenu menu,MenuInflater inflater) 
     { 
      //MenuInflater.Inflate (Resource.Menu.Action_menu, menu); 
      //menu.Clear(); 
      inflater.Inflate(Resource.Menu.Action_menu,menu); 

      base.OnCreateOptionsMenu (menu,inflater); 
     } 

チェックボックスの項目がチェックされている場合。 OnOptionsItemSelectedは呼び出されません。

+0

アクティビティにもOnOptionsItemSelected-Methodがありますか?これは問題になる可能性があります。 –

答えて

1

アクティビティにもOnOptionsItemSelectedの実装があると思います。

Fragmentにこのイベントを処理する機会を与えたい場合は、それを削除するか、falseを返してください。

アクティビティは、このイベントを最初に処理する機会を得ます。そのため、フラグメントに対してメソッドが呼び出される前に、onOptionsItemSelected()がアクティビティで最初に呼び出されます。それがアクティビティによって処理されない場合に限り、フラグメントはそれを処理する機会を有する。

+0

In Activityには、drawLayoutを開くためのOnOptionsItemSelectdがあります。 –

+0

あなたの質問を編集し、あなたのアクティビティのOnOptionsItemSelected-Methodからコードを追加できますか? –

+0

私はそれを修正しました。しかし、私はchecboxAのデフォルトが欲しいOnActivityCreatedでチェックされて –

関連する問題