Как использовать ContextMenu в Monodroid - PullRequest
1 голос
/ 28 октября 2011

Я пытаюсь реализовать ContextMenu из кнопки в заголовке, но она не появляется работать. Я регистрирую кнопку, но когда я нажимаю на нее, ничего это происходит. Есть идеи? Я использую MonoDroid 1.2. Спасибо.

public class MainActivity : Activity
{
   protected override void OnCreate(Bundle bundle)
   {
       base.OnCreate(bundle);

       SetContentView(Resource.Layout.main);

       Button btnMenu =
       (Button)FindViewById(Resource.Id.btn_menu_options);
       RegisterForContextMenu(btnMenu);
   }

   public override void OnCreateContextMenu(IContextMenu menu, View v,
     IContextMenuContextMenuInfo menuInfo)
   {
       base.OnCreateContextMenu(menu, v, menuInfo);

       menu.SetHeaderTitle(Resource.String.menu_title);
       menu.Add(Resource.String.menu_option1);
   }
}

Ответы [ 2 ]

1 голос
/ 28 октября 2011

Что вы имеете в виду под «кнопкой в ​​заголовке»?Я только что создал демо-проект, и все работает отлично.Вот код:

[Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        SetContentView(Resource.Layout.Main);
        var button = FindViewById<Button>(Resource.Id.MyButton);
        RegisterForContextMenu(button);
    }

    public override void OnCreateContextMenu(IContextMenu menu, View v, IContextMenuContextMenuInfo menuInfo)
    {
        base.OnCreateContextMenu(menu, v, menuInfo);
        menu.SetHeaderTitle(Resource.String.MenuTitle);
        menu.Add(Resource.String.Action1);
        menu.Add(Resource.String.Action2);
    }

    public override bool OnContextItemSelected(IMenuItem item)
    {
        Toast.MakeText(this, item.TitleFormatted, ToastLength.Short).Show();
        return true;
    }
}
0 голосов
/ 04 ноября 2011

Я считаю, что контекстное меню - долгое нажатие. Обычное нажатие на кнопку не активирует ее. Вам нужно сделать длинное нажатие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...