0
Küçük bir kart oyunu var. Bu onuJava setImageResource
ArrayList<String> liste = new ArrayList<String>();
ve dolgu: bir ArrayList ben 52 kart eklemek
for (int n=1; n<14; n++) {
liste.add("d" +n); //diamonds
liste.add("c" +n); //clubs
liste.add("s" +n); //spades
liste.add("h" +n); //hearts
}
Bu kodu kullanmak bir kart çizmek için: Benim çekilebilir klasörde
private void drawCard() {
if (liste.size()!=0) {
Collections.shuffle(liste);
kort.setText("" + liste.get(0));
int i = liste.size();
cardsLeft.setText("" + (i - 1));
cardImage.setImageResource(R.drawable.XXX);
liste.remove(0);
}
else kort.setText("No more cards in deck");
}
Ben ArrayList'teki isimle aynı ada sahip 52 resimli kartınız var. Program çizerken, örn. d2 i de çekilebilir klasörden görüntü d2 için ImageView cardImage ayarlamanız gerekir:
cardImage.setImageResource(R.drawable.d2);
çizilmiş kartı eşleşecek şekilde ben ImageView nasıl değiştiğini için yardıma mı ihtiyacınız
bunu yapabilirsiniz
Sorduğum için üzgünüm ama bu nasıl çalışıyor? Oyun d2 (Diamonds of 2) çizerse, TextView basit bir kod ile güncellenir ve ekranda d2 gösterilir. ImageView R.drawable.d2 ile nasıl güncellerim? Her bir görüntü için bir kod yazmam gerekiyor mu? Değiştirilecek bir şey: cardImage.setImageResource (R.drawable.liste.get (0)); –
Resources.getIdentifier (Dize adı, Dize türü), belirli bir türdeki belirli bir ada sahip kaynağın kimliğini size döndürür. Yani, getIdentifier ("d2", "çizilebilir"), R.drawable.d2 döndürür Veya getIdentifier ("card_layout", "layout"), R.layout.card_layout öğesini döndürür. Kaynak tanımlayıcıları tamsayılardır ve onları gerektiği gibi yerleştirmek için setImageResource() –
@AlexanderKulyakhtin Örnek çağrınız, getDrawableId() 'bağlam parametresini özler. – Floern