我正在用Xamarin在C#中制作一个应用程序。
这是我的代码:

ArrayAdapter<Skylander> adapter;
ListView List = FindViewById<ListView>(Resource.Id.LstSkylanders);
List.Adapter = adapter;


我的课:

class Skylander
        {
            public string Name { get; set; }
            public int Power { get; set; }
            public int Protection { get; set; }
            public int Speed { get; set; }
            public int Luck { get; set; }

            public override string ToString()
            {
                string StringName= "Name: " + Name;
                return StringName;
            }
        };


我将数字字符串化的函数:

public int ToNumber(string number)
        {
            int temp;
            try
            {
                temp = Convert.ToInt32(number);
            } catch { temp = 0; };
            return temp;
        }


这就是我将Skylander添加到列表中的方式:

Skylander New = new Skylander { Name = Name.Text, Power = ToNumber(Power.Text), Protection = ToNumber(Protection.Text),Speed = ToNumber(Speed.Text), Luck = ToNumber(Luck.Text)};

                adapter.Add(New.ToString());


这是我的输出:c# - 在 ListView C#中显示类的一个对象-LMLPHP

我正在尝试仅在列表视图中显示名称。
我希望你能帮助我。

丹尼

最佳答案

继承自Java.Lang.Object,因为Xamarin编译器使用Java版本的toString,其他所有内容均保持不变

 class Skylander: Java.Lang.Object{

    .....

     public override string ToString()
                {
                    string StringName= "Name: " + Name;
                    return StringName;
                }

    }

10-05 21:01
查看更多