Я пытаюсь создать игровое лобби для проекта, и я хотел бы, чтобы текст статуса игры был другого цвета: красный для игры «[В ПРОГРЕССЕ]» и зеленый для игры, которая «[Ожидание»для х игроков] ".ListView будет заполнен данными, и каждый элемент ListView будет иметь идентификатор игры, а затем сразу же справа от этого статуса игры.
Сейчас я по сути использую код Hello ListView для создания моего ListView..
(в конструкторе)
ArrayList<HashMap<String, String>> gameList = new ArrayList<HashMap<String, String>>();
private ListView gamesListView;
private SimpleAdapter gameItems.
(в onCreate ())
gamesListView = (ListView) findViewById(R.id.listViewGames);
gameItems = new SimpleAdapter(this, gameList, R.layout.gamelistitem,
new String[] { "line1, "line2},
new int[] { R.id.tvGameID, R.id.tvGameStatus });
gamesListView.setAdapter(gameItems);
Затем у меня есть кнопка обновления, которая получает данные из нашей базы данных.Он получит две строки, одну для идентификатора игры, а другую для статуса игры.Если статус игры равен 0, то он все еще ждет игроков.Если статус игры равен 1, то игра началась.Итак, я создаю игровой элемент для добавления в список игр:
HashMap<String, String> gameItem = new HashMap<String, String>();
gameItem.put("line1", gameIDString);
gameItem.put("line2", renderGameStatus(gameStatusString));
gameList.add(gameItem);
gameItems.notifyDataSetChanged();
private String renderGameStatus(String statusString) {
if (statusString.equals("0")) {
return "[Waiting for players]";
} else {
return "[IN PROGRESS]";
}
}
Вот где я застрял.Я не совсем понимаю, как я могу изменить конкретный TextView при создании gameItem или когда я добавляю это в gameList.Я не вижу способа доступа к свойствам TextView.Я вижу, как задан текст представления (через сопоставление строк с «line1» и «line2», но я не знаю, как изменить какое-либо из свойств.
Спасибо за любую помощь!