C# 我的monodroid UI元素中的枚举需要一个.Net包(按钮、TextView…)
我试图在ListView中的自定义ListItem内设置按钮的标记,但需要Java.Lang.Object吗?在.Net对象世界中,此标记属性似乎不合适 因此,我需要一种方法将.Net包获取/设置到我的UI元素:C# 我的monodroid UI元素中的枚举需要一个.Net包(按钮、TextView…),c#,xamarin.android,xamarin,C#,Xamarin.android,Xamarin,我试图在ListView中的自定义ListItem内设置按钮的标记,但需要Java.Lang.Object吗?在.Net对象世界中,此标记属性似乎不合适 因此,我需要一种方法将.Net包获取/设置到我的UI元素: button.Bag=MYEnumsEnum1; 然后 单机器人有可能吗? 如何绕过这个问题?您只需从java.Lang.object继承,就可以创建一个连接到.net对象的java对象 例如,您可以使用 class Thing : Java.Lang.Object {
button.Bag=MYEnumsEnum1;
然后
单机器人有可能吗?
如何绕过这个问题?您只需从java.Lang.object继承,就可以创建一个连接到.net对象的java对象 例如,您可以使用
class Thing : Java.Lang.Object
{
public MyEnum Value { get; set; }
}
这可用于存储以下内容:
button.Tag = new Thing() { Value = MyEnum.Running };
然后再提取为:
var myEnumValue = ((Thing)button.Tag).Value;
下面是我使用的一个包装:
- 用于包装列表项对象的列表适配器:
- 最后一个方法中绑定属性的标记存储
button.Tag
?不应该,因为它使用Java.Lang.Object而不是System.Object。Object:所以不能使用强制转换。我很困惑button.Tag
需要Java.Lang.Object吗?您在问题中同时使用了标签
和袋子
,因此不清楚。
var myEnumValue = ((Thing)button.Tag).Value;