2016-09-19 3 views
2

私はC#でxamarinでアプリケーションを作成しています。 これは私のコードです:は、リストビューのクラスの1つのオブジェクトを表示します。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; 
      } 
     }; 

My機能数に文字列にする:

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

そして、これは私がリストにスカイランダーズを追加する方法です:

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()); 

Th私の出力です:Output

私はリストビューに名前を表示しようとしています。 私があなたを助けてくれることを願っています。

ダニー

+0

は、多分それは私ですが、ArrayAdapterが初期化されていますか?どのような種類のレイアウトを使用するかは分かりません。 'ArrayAdapter adapter = new ArrayAdapter(これは、 Resource.Layout.TextViewItem、data); ListAdapter = adapter; ' https://developer.xamarin.com/recipes/android/data/adapters/use_an_arrayadapter/ –

+0

申し訳ありませんが、このコードを含めるのを忘れています:adapter = new ArrayAdapter (this、Android.Resource。 Layout.SimpleListItem1); –

+0

現在表示されているものは何ですか?そして、 'Name'に値がありますか? – Matthew

答えて

1

java.lang.Objectからは継承に、XamarinコンパイラはのtoStringのJavaのバージョンを使用して、他のすべてを残してそのまま

class Skylander: Java.Lang.Object{ 

    ..... 

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

    } 
+0

お返事ありがとうございます。しかし、私はその名前を表示しようとしています。あなたがロングクロスすると、それはすべての情報を表示します。 –

関連する問題