2017-11-11 6 views
0

ListView内の行を別の色で表示したい - Xamarin.AndroidC# Project。Xamarin.Android別の色のリスト

public override View GetView(int position, View convertView, ViewGroup parent) 
{ 
    var item = items[position]; 
    View view = convertView; 
    if (view == null) // no view to re-use, create new 
     view = context.LayoutInflater.Inflate(Resource.Layout.CustomView, null); 

    view.FindViewById<TextView>(Resource.Id.Text1).Text = item.Heading; 
    view.FindViewById<TextView>(Resource.Id.Text2).Text = item.SubHeading; 
    view.FindViewById<ImageView>(Resource.Id.Image).SetImageResource(item.ImageResourceId); 

    if (position % 2 == 0) 
    { 
     view.FindViewById<RelativeLayout>(Resource.Id.listView_item_bg).SetBackgroundColor(Color.Pink); 
    } 
    else 
    { 
     view.FindViewById<RelativeLayout>(Resource.Id.listView_item_bg).SetBackgroundColor(Color.Blue); 
    } 
    return view; 
} 

あなたが参照することができ、完全なコードの場合:たとえば

は、ここでは、位置に応じてGetView色をオーバーライドすることができ、私のコード

ListView DialogoList = (ListView)FindViewById(Resource.Id.DialogoList); 
Data data = new Data(); 
string[] dialogolist = data.Dialogo(Data.level, Data.Lesson); 
DialogoList.Adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, dialogolist); 
+1

カスタムアダプタを作成し、GetViewをオーバーライドし、位置に応じて色を変更してください –

+0

はい、それは動作します、ありがとう@ YorkShen-MSFT –

答えて

1

@Nongthonbam Tonthoiが言ったようですこれまではsampleです。

Effect

+0

ありがとう、それは動作します! –