2014-04-29 152 views
0

我是新来的android和java世界几乎没有3个月的工作。因此请帮助我。我有显示默认图像的gridview。我的要求是当用户点击项目集产品图像一段时间,例如2/3秒,然后再次显示默认图像。请让我知道我该如何处理这件事。示例代码将不胜感激。在gridview中设置2个图像onitemclick

目前,我有以下的非工作的代码,它总是显示默认图像

 gridview.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View imgView, 
       int position, long id) { 

      ImageAdapter adapter = (ImageAdapter) parent.getAdapter(); 
      ImageView imageView = (ImageView) imgView; 
      imageView.setImageResource(R.drawable.productImage); 
          Thread.sleep(1000); 
      imageView.setImageResource(R.drawable.bg_default_card); 
      } 
     }); 

回答

0

我找到了解决办法。我创建Runnable的对象并将图像设置为运行方法中的默认图像

我在onItemClick事件中放置了以下代码。我为imageview创建了一个类级别的变量,例如imgView1将点击的图像分配给imgView1 onItemClick事件

//create runable object 
Runnable r1 = new Runnable() { 
    public void run() { 
     //check imageView1 not null    
     if (imgView1 != null) {       
      //set image to default 
      imgView1.setImageResource(R.drawable.bg_default_card); 
    } 
} 
}; 
//call runnable after some interval 
imgView1.postDelayed(r1, 500); 

谢谢。