powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / как изменить фон у элемента списка.
5 сообщений из 5, страница 1 из 1
как изменить фон у элемента списка.
    #39018648
VaneS Ri_lax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, помогите пожалуйста разобраться!
Делал все по примеру тут
В общем у меня есть главная активити, в котором есть список ListView
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<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
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
<?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>


Соответственно заполняю список вот так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
    // имена атрибутов для 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 в зависимости от определенных условий. В итоге должно получиться так:

Как мне можно реализовать подобное?
Заранее большое спасибо!

Модератор: Добавлены спойлеры.
...
Рейтинг: 0 / 0
как изменить фон у элемента списка.
    #39018696
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простой ответ: http://startandroid.ru/ru/uroki/vse-uroki-spiskom/109-urok-50-simpleadapter-ispolzuem-viewbinder.html

Но правильнее это дело (данные) засунуть в базу и написать свой адаптер.
...
Рейтинг: 0 / 0
как изменить фон у элемента списка.
    #39018732
VaneS Ri_lax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Данные пока забил в массив для теста, в дальнейшем они будут браться с удаленного сервера
...
Рейтинг: 0 / 0
как изменить фон у элемента списка.
    #39018736
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
getViewType
...
Рейтинг: 0 / 0
как изменить фон у элемента списка.
    #39019227
VaneS Ri_lax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanПростой ответ: http://startandroid.ru/ru/uroki/vse-uroki-spiskom/109-urok-50-simpleadapter-ispolzuem-viewbinder.html

Спасибо, разобрался! Вы мне очень помогли!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / как изменить фон у элемента списка.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]