c# - Xamarin Android 工具栏如何动态添加项目

标签 c# android xamarin xamarin.android android-toolbar

我已经按照 xamarin android 指南 here 中给出的说明实现了 android 工具栏 |

使用示例代码:

public override bool OnCreateOptionsMenu(IMenu menu)
        {           
            MenuInflater.Inflate(Resource.Menu.mainMenu, menu);

            return base.OnCreateOptionsMenu(menu);
        }

和 xml:

<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:local="http://schemas.android.com/apk/res-auto">
  <item
       android:id="@+id/menu_share"
       local:showAsAction="ifRoom"
       android:title="Share" />
  <item
       android:id="@+id/menu_settings"
       local:showAsAction="ifRoom"
       android:title="Settings" />
</menu>

现在我想将来 self 的 web api 的项目添加到工具栏,它们基本上是指向我们页面的链接,例如隐私政策等。但我无法在菜单上找到任何示例。添加执行此操作的方法。基本上我需要的是从我的 json 中构造 meny 项目,它返回:

[{
pageid:1,
pagename:"home",
pagehtmllink:"....."
},
{
pageid:2,
pagename:"About",
pagehtmllink:"....."
},
...........
]

如何从后面的代码中实现这一点?

最佳答案

IMenu 有一个 Add 方法,您可以调用:

public override bool OnCreateOptionsMenu(IMenu menu)
{
        MenuInflater.Inflate(Resource.Menu.main_menu, menu);

        menu.Add(0, 99, 0, "DB Copy to SDCard (Debug)");

        return base. OnCreateOptionsMenu(menu);
}

有关参数,请查看 Android 文档:Menu.html#add

要捕获菜单选择,您可以检查 IMenuItem.ItemId 值:

public override bool OnOptionsItemSelected(IMenuItem item)
{
    switch (item.ItemId)
    {
        case 99:
            DoSomething();
            return true;
        default:
            return false;
    }
}

关于c# - Xamarin Android 工具栏如何动态添加项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48020436/

相关文章:

c# - Xamarin MvvM 内容 View 绑定(bind)

c# - 想要使用 c# 将单词的几个字符加粗在 winforms 的树节点中加粗

ios - NFCTagReader iOS 没有命中 didDetect 方法

c# - 使用 C# 在 asp.net 中以 Word 格式转换货币格式的 int 值?

android - 如何创建类似画廊的 View

java - Android:检查系统日期是否小于或等于指定日期

android - 显示在前台服务中创建的 SurfaceTexture 到 Activity ?

Xamarin Forms Android 错误 : Please install package 'Android Support Library'

c# - 将列表的总和作为变量并在运行时对其进行编辑

c# - 布娃娃关节角度约束