我使这个应用程序洗牌和显示随机卡每次用户点击当前卡的形象。我制作了一个包含卡片所有图像的阵列,并使用'Fisher Yates Shuffle'来混洗阵列。这里是我写的代码:setImageResource洗牌卡阵列
public class MainActivity extends Activity {
int[] cards={R.drawable.aceofspades,R.drawable.aceofhearts,R.drawable.aceofclubs};{
int i = cards.length, j, temp;
while(--i > 0){
j = (int) Math.floor(Math.random() * (i+1));
temp = cards[j];
cards[i] = cards[j];
cards[i] = temp;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void imageClick(View view) {
{
ImageView image = (ImageView) findViewById(R.id.imageDice1);
image.setImageResource(cards); // This gives an error: change type of 'cards' to 'int'.
}
}
}
问题是,我不知道如何设置'image.setImageResource'。它应该是shuffled cards数组中的第一个,当用户点击该卡时,它应该成为数组中的下一个(类似于i ++)。 我试过'卡',但它给了我一个错误。 “卡片[i]”也不起作用。可能是什么问题呢?
作品像魅力,谢谢先生! –