Android GridView(图像视图的):setOnTouchListener和setOnItemClickListener实现

Android GridView(图像视图的):setOnTouchListener和setOnItemClickListener实现,android,gridview,ontouchlistener,onitemclicklistener,Android,Gridview,Ontouchlistener,Onitemclicklistener,目前我有一个GridView,其中包含一些ImageView。GridView实现setOnItemClickListener。当onItemClick发生时,用户会得到一个对话框,在按下back键或Disclose键时,他会返回到当前的GridView。 到目前为止,一切都很顺利 我想知道是否有办法更改所选的imageView(使用另一个图像,甚至只是alpha) 我曾尝试在setOnItemClickListener中更改图像,但在dialog.dismise()调用后,当我尝试将其更改回正

目前我有一个GridView,其中包含一些ImageView。GridView实现setOnItemClickListener。当onItemClick发生时,用户会得到一个对话框,在按下back键或Disclose键时,他会返回到当前的GridView。 到目前为止,一切都很顺利

我想知道是否有办法更改所选的imageView(使用另一个图像,甚至只是alpha)

我曾尝试在setOnItemClickListener中更改图像,但在dialog.dismise()调用后,当我尝试将其更改回正常图像时,白色屏幕会弹出几毫秒。虽然图像设置正确,但我希望避免使用此白色图像

我已经尝试实现GridView.setOnTouchListener,但是我只会得到一个白色屏幕(几毫秒),并且不会执行其他操作(没有弹出对话框)

我甚至尝试在ViewHolder类中实现OnTouchListener,尽管它似乎可以解决一些问题(在ACTION_上更改alpha是永久性的,因此我必须重新选择相同的项以将alpha更改回正常状态),但setOnItemClickListener根本无法工作

有人能帮我吗?
提前谢谢

对于有相同问题的人,我使用TransitionDrawable。在imageAdapter中,我加载了转换xml文件:

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/soft"/>
    <item android:drawable="@drawable/soft_pressed"/>

</transition>
和执行下一个命令(需要一些延迟):

ViewHolder holder = (ViewHolder) v.getTag();
final ImageView imageview = holder.image;
((TransitionDrawable)imageview.getDrawable()).startTransition(2000);
 final Handler handler = new Handler();
 handler.postDelayed(new Runnable() {
    @Override
    public void run() {
    YourMethod(...);
    //reverse the transition
((TransitionDrawable)imageview.getDrawable()).reverseTransition(2000);
    }
  }, 2000);