gpt4 book ai didi

android - 如何为 MenuItem 设置标签?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:58 25 4
gpt4 key购买 nike

我正在 android 中构建一个弹出菜单,我需要在每个菜单项中存储一些 ID。ID 是字符串,因此如果我可以将字符串数组设置为 MenuItem 就好了。

问题是 MenuItem 没有 setTag 方法。

我还能如何将一些数据附加到它?

编辑:Geobits 提到了 getActionView();

不幸的是它返回空值。

但是,这样做是否省事呢?

 View view = new View(getActivity());
view.setTag(tag);
menuItem.setActionView(view);

最佳答案

每个 MenuItem 都有一个关联的 View,称为 ActionView。如果您使用的是自定义 ActionView,则可以使用 MenuItem.getActionView() 获取它,并设置/检索其上的标签。

例如,设置一个标签:

public void setMenuItemTag(MenuItem item, Object tag)
{
View actionView = item.getActionView();
actionView.setTag(tag);
}

编辑

如果您不使用自定义 ActionView,则可以使用 HashMap 来存储标签。使用 MenuItem 作为键。

public void setMenuItemTag(MenuItem item, Object tag)
{
myMap.put(item, tag);
}

// returns null if tag has not been set(or was set to null)
public Object getMenuItemTag(MenuItem item, Object tag)
{
return myMap.get(item);
}

关于android - 如何为 MenuItem 设置标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15326511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com