0
私は少しカードゲームを持っています。私は私の描画可能なフォルダでJavaのsetImageResource
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");
}
:ArrayListの中で私は、52枚のカードを追加:
ArrayList<String> liste = new ArrayList<String>();
をし、これでそれを埋める:
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
}
私はこのコードを使用してカードを引くためにArrayListの名前と同じ名前のカードの写真が52枚あります。 プログラムが描画するときなど。 D2私も描画可能なフォルダから画像D2にImageViewのcardImageを設定する必要があります。
cardImage.setImageResource(R.drawable.d2);
が描かれたカードに一致させるために、私はImageViewのをどのように変化するかに助けが必要
あなたは行うことができます
申し訳ありませんが、これはどのように機能しますか?ゲームがd2(Diamonds of 2)を描画する場合、TextViewは簡単なコードで更新され、画面にd2を表示します。イメージR.drawable.d2でImageViewを更新するにはどうすればよいですか? 1つのイメージにつき1つのコードを作成する必要がありますか?置き換えられるもの:cardImage.setImageResource(R.drawable.liste.get(0)); –
Resources.getIdentifier(String name、String type)指定された型の名前を持つリソースの識別子を返します。 ので、getIdentifierは( "D2"、 "描画可能")R.drawable.d2 あるいは、getIdentifier( "card_layout"、 "レイアウト")を返しますR.layout.card_layoutを返します。 リソース識別子は整数であり、彼らが必要な場所あなたは、このようなgetDrawableId 'へあなたの例コール@AlexanderKulyakhtin setImageResource() –
へと渡す()'コンテキストパラメータをミス。 – Floern