在Click事件上设置ImageView上的图像

时间:2016-07-13 18:29:10

标签: android android-imageview onitemclicklistener

我有以下代码:

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            ImageView img = (ImageView) view.findViewById(R.id.image);
            img.setImageBitmap(randomArray.get(position).getImage());
            pairList.add(img);
            positions.add(position);
            turned++;

            if(turned == 2){
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                if(randomArray.get(positions.get(0)).getName().equals(randomArray.get(positions.get(1)).getName())){
                    Toast.makeText(MainActivity.this, "You guessed", Toast.LENGTH_SHORT).show();
                } else {
                    pairList.get(0).setImageDrawable(getResources().getDrawable(R.drawable.back_card));
                    pairList.get(1).setImageDrawable(getResources().getDrawable(R.drawable.back_card));
                }
                pairList.clear();
                positions.clear();
                turned = 0;
                return;
            }
        }
    });

我期望的行为是:用户点击imageView项目,项目会更改图像。最初我有一张卡,用户看到它的背面图像,点击后,他看到了正面图像。在第二张牌,同样的。但是如果卡片是成对的,我希望它们保持转动,否则它们会再次显示背面图像。问题是图像在方法返回之前不会出现。因此,如果卡未配对,则用户不会看到第二张卡,因为它们立即转动。我不明白为什么在这一行之后没有设置图像:

img.setImageBitmap(randomArray.get(position).getImage());

但在方法结束时。我希望自己清楚明白,谢谢你的帮助!

0 个答案:

没有答案