2016-09-11 3 views
1

私はListViewコントロールに代替色いくつかの行を置く必要があります。どのようにプログラムでlistViewの色の行を変更するのですか?

私の実際のコード

public class Agenda 
{  
    List<Schedule> tabelaAgenda = new List<Schedule>(); 
    public ListView _listView; 
    public ArrayAdapter _adapter; 

    protected override void OnCreate(Bundle bundle) 
    { 
     SetContentView(Resource.Layout.Pro_AgendaDia);   
     _listView = FindViewById<ListView>(Resource.Id.ListView_Horas); 

     ArrayList listaArray = 
      populaHorarios(dataInicial.Year, dataInicial.Month, dataInicial.Day); 

     _listView.Adapter = _adapter;  
     _listView.ItemClick += _listView_ItemClick;  
    } 

    private ArrayList populaHorarios(int ano, int mes, int dia) 
    { 
     DateTime testDate = new DateTime(ano, mes, dia, horaInicial, 00, 00);  

     tabelaAgenda = Schedule.carregaDadosAgenda_Exemplos();  
     ArrayList ArrayResultante = new ArrayList(); 

     for (var hora = 1; hora < hoursLeft; hora++) 
     { 
      var pHora = testDate.Hour; 
      var pMinuto = testDate.Minute; 
      var result = tabelaAgenda.Where(x => x.horaini == pHora && x.minutoini == pMinuto).FirstOrDefault(); 
      if (result != null) 
      {  
       ArrayResultante.Add(testDate.ToShortTimeString() + " Scheduled"); 
       _adapter = new ArrayAdapter(this, Resource.Layout.Custom_hours_ocupied, ArrayResultante); 
       // set background color GRAY 
      } 
      else 
      { 
       ArrayResultante.Add(testDate.ToShortTimeString()); 
       _adapter = new ArrayAdapter(this, Resource.Layout.Custom_hours_free, ArrayResultante); 
       // set color other 
      } 

      testDate = testDate.AddMinutes(30); 

     } // for 

     return ArrayResultante; 
    } 
} 

XMLカスタム

<?xml version="1.0" encoding="utf-8" ?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/textItensHoras1"   
    android:textSize="20dp" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/material_teal_100" 
    android:textColor="@color/verde_trevo" 
    android:gravity="center" 
    android:paddingTop="10dp" 
    android:paddingBottom="10dp"  
    /> 
+0

あなたは '任意のクラスから継承していない...' '内部クラスAgenda'(無効OnCreate関数をオーバーライドしています。あなたはどのようなものですあなたのコードはコンパイルされません –

+0

各 'View'で異なる色を実現するカスタム' Adapter'を実装する必要があります。 'populaHorarios'とは何ですか? –

+0

カスタムアダプタとlistitemビューはアダプタでジョブを行います。予定レイアウトがある場合は、データレイアウトに関連してメインレイアウトアイテムの背景色を割り当てます。背景はグレーで、その青でなければ – user1230268

答えて

1

私は解決! arrayListからBaseAdapterに変更されました。 ここに添付されているこの印刷物に基づいています。 Alikhanov @Orkhanとuser1230268 @

感謝:)

Screen 1 Screen 2

+0

ありがとう、これは私のプロジェクトのための正しい道に私を得た – Eman

関連する問題