Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的monodroid UI元素中的枚举需要一个.Net包(按钮、TextView…)_C#_Xamarin.android_Xamarin - Fatal编程技术网

C# 我的monodroid UI元素中的枚举需要一个.Net包(按钮、TextView…)

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 {

我试图在ListView中的自定义ListItem内设置按钮的标记,但需要Java.Lang.Object吗?在.Net对象世界中,此标记属性似乎不合适

因此,我需要一种方法将.Net包获取/设置到我的UI元素:

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;

下面是我使用的一个包装:

这用于:

  • 用于包装列表项对象的列表适配器:
  • 最后一个方法中绑定属性的标记存储

我对Monodroid一无所知,但它不应该是
button.Tag
?不应该,因为它使用Java.Lang.Object而不是System.Object。Object:所以不能使用强制转换。我很困惑
button.Tag
需要Java.Lang.Object吗?您在问题中同时使用了
标签
袋子
,因此不清楚。
var myEnumValue = ((Thing)button.Tag).Value;