Здравствуйте, помогите пожалуйста разобраться!
Делал все по примеру
тут
В общем у меня есть главная активити, в котором есть список ListView:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/racelist" />
</RelativeLayout>
Для каждого элемента списка я использую
item.xml<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/index_item"
android:shrinkColumns="*"
android:stretchColumns="*"
>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#bfbfbf"
android:id="@+id/title_zag">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="МОСКВА (ВНУКОГО) - ОРЕНБУРГ"
android:id="@+id/textView7"
android:layout_span="3"
android:layout_gravity="center_horizontal"
android:textColor="#000000"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="план взлета"
android:id="@+id/textView"
android:textColor="#000000"
android:textStyle="bold"
android:layout_column="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="план посадки"
android:id="@+id/textView2"
android:textColor="#000000"
android:textStyle="bold"
android:layout_column="2" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:id="@+id/race">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1235"
android:id="@+id/textView4"
android:layout_column="0"
android:theme="@style/TextColor"
android:layout_marginLeft="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30.07.15 09:00"
android:id="@+id/textView5"
android:layout_column="1"
android:theme="@style/TextColor" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="29.07.15 15:00"
android:id="@+id/textView6"
android:layout_column="2"
android:theme="@style/TextColor" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="100dp"
android:layout_height="match_parent"
android:text="приземлился"
android:id="@+id/textView13"
android:layout_column="0"
android:theme="@style/TextColor"
android:layout_marginLeft="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="факт взлета"
android:id="@+id/textView8"
android:layout_column="1"
android:textColor="#000000"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="факт посадки"
android:id="@+id/textView9"
android:layout_column="2"
android:textColor="#000000"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30.07.15 09:15"
android:id="@+id/textView10"
android:layout_column="1"
android:theme="@style/TextColor" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30.07.15:00"
android:id="@+id/textView11"
android:layout_column="2"
android:theme="@style/TextColor" />
</TableRow>
</TableLayout>
Соответственно заполняю список вот так:
// имена атрибутов для Map
final String ATTRIBUTE_NAME_UP = "up";
//final String ATTRIBUTE_NAME_DOWN = "down";
final String ATTRIBUTE_DATE_UP = "date_up";
final String ATTRIBUTE_DATE_DOWN = "date_down";
final String ATTRIBUTE_DATE_UP_FACT = "date_up_fact";
final String ATTRIBUTE_DATE_DOWN_FACT = "date_DOWN_fact";
final String ATTRIBUTE_RACE = "race";
final String ATTRIBUTE_STATUS = "status";
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// массивы данных
String[] up = { "МОСКВА (ВНУКОГО)", "МОСКВА (ВНУКОГО)", "МОСКВА (ВНУКОГО)",
"МОСКВА (ВНУКОГО)", "МОСКВА (ВНУКОГО)" };
String[] down = {"ОРЕНБУРГ", "ОРЕНБУРГ", "ОРЕНБУРГ", "ОРЕНБУРГ", "ОРЕНБУРГ"};
String[] date = {"28.07.15", "29.07.15", "31.07.15", "02.08.15", "05.08.15"};
String[] date_up = {"09:00", "09:00", "09:00", "09:00", "09:00"};
String[] date_down = {"12:00 +", "12:00" ,"12:00" ,"12:00" ,"12:00 +"};
String[] date_up_fact = {"09:00", "09:00", "09:00", "09:00", "09:00"};
String[] date_down_fact = {"12:00 +", "12:00" ,"12:00" ,"12:00" ,"12:00 +"};
String[] race = {"5821", "5823", "5820", "5826", "5937"};
String[] status = {"регистрация", "посадка", "задержка", "вылетел", "приземлился"};
// упаковываем данные в понятную для адаптера структуру
ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>(
up.length);
Map<String, Object> m;
for (int i = 0; i < up.length; i++) {
m = new HashMap<String, Object>();
m.put(ATTRIBUTE_NAME_UP, up[i]+" - "+ down[i]+" "+date[i]);
m.put(ATTRIBUTE_DATE_UP, date_up[i]);
m.put(ATTRIBUTE_DATE_DOWN, date_down[i]);
m.put(ATTRIBUTE_DATE_UP_FACT, date_up_fact[i]);
m.put(ATTRIBUTE_DATE_DOWN_FACT, date_down_fact[i]);
m.put(ATTRIBUTE_RACE, race[i]);
m.put(ATTRIBUTE_STATUS, status[i]);
data.add(m);
}
// массив имен атрибутов, из которых будут читаться данные
String[] from = {
ATTRIBUTE_NAME_UP,
ATTRIBUTE_DATE_UP, ATTRIBUTE_DATE_DOWN,
ATTRIBUTE_DATE_UP_FACT, ATTRIBUTE_DATE_DOWN_FACT,
ATTRIBUTE_RACE, ATTRIBUTE_STATUS,
};
// массив ID View-компонентов, в которые будут вставлять данные
int[] to = { R.id.textView7,
R.id.textView5, R.id.textView6,
R.id.textView10, R.id.textView11,
R.id.textView4, R.id.textView13
};
// создаем адаптер
SimpleAdapter sAdapter = new SimpleAdapter(this, data, R.layout.item,
from, to);
// определяем список и присваиваем ему адаптер
ListView lvSimple = (ListView) findViewById(R.id.racelist);
lvSimple.setAdapter(sAdapter);
}
Список заполняется, все работает, но вот в каждом item.xml есть TableRow который имеет id title_zag
Мне нужно как то изменить у него background в зависимости от определенных условий. В итоге должно получиться так:
Как мне можно реализовать подобное?
Заранее большое спасибо!