Bir proje için bir oyun lobisi oluşturmaya çalışıyorum ve oyunun durum metninin farklı bir renk olmasını istiyorum: bir "[IN PROGRESS]" oyunu için kırmızı ve bir oyun için yeşil. "[Bekleniyor x oyuncular]. ListView, verilerle doldurulacak ve her bir ListView öğesinde bir oyun kimliği bulunacak ve hemen oyunun durumunun sağında olacaktır.Bir ListView içindeki bir TextView'un metin rengini dinamik olarak değiştirin.
Şu anda ListView'imi oluşturmak için esasen Hello ListView kodunu kullanıyorum.
ArrayList<HashMap<String, String>> gameList = new ArrayList<HashMap<String, String>>();
private ListView gamesListView;
private SimpleAdapter gameItems.
(Yapıcıda) (onCreate olarak())
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);
Sonra, bizim veritabanından verileri elde bir yenileme düğmesi vardır. Oyunun kimliği için diğeri oyunun durumu için iki Dizge alacak. Oyun durumu 0 ise, hala oyuncular için bekliyor. Oyun durumu 1 ise, oyun başladı. Yani, GameList eklemek için bir gameItem oluşturun: sıkıştım nerede
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]";
}
}
budur. GameItem'i oluşturduğumda veya bunu GameList'e eklediğimde belirli TextView’i nasıl değiştirebileceğimi anlamıyorum. TextView'ın özelliklerine erişmenin bir yolu yok. Görüntünün metninin nasıl ayarlandığını görüyorum (dizelerin "line1" ve "line2" ye eşleştirilmesi yoluyla, ancak özelliklerin herhangi birini nasıl değiştireceğimi bilmiyorum.
Yardımlarınız için teşekkürler!
? böylece çalışırsanız
Maalesef Hayır ... sadece ListView'deki tüm TextView'ların rengini değiştirmez miydi? ListView içinde her bir belirli TextView rengini değiştirmek için arıyorum. – Rockmaninoff
hmm şimdi anlıyorum .. Zaten denedim emin değilim ama oluşturulan Listeler ve şeyler tam kontrol sahibi olmak için BaseAdapter uygulama hakkında bir şey hatırlıyorum. Şuna bir bakmalısın. İyi şanslar – dds