Android ImageVIew在按钮上有限时间内更改源单击

Android ImageVIew在按钮上有限时间内更改源单击,android,imageview,Android,Imageview,有一个ImageView和一个按钮。单击按钮时,imageview应更改源(显示另一个图像)1秒,然后返回布局文件中定义的默认源 怎么做 提前感谢您更改您使用的imageView内容: yourImageView.setImageDrawableResouce(R.drawable.imgTemp); 要计算1秒,可以使用 final ScheduledExecutorService exec = Executors.newScheduledThreadPool(1); exec.sche

有一个ImageView和一个按钮。单击按钮时,imageview应更改源(显示另一个图像)1秒,然后返回布局文件中定义的默认源

怎么做


提前感谢您更改您使用的imageView内容:

yourImageView.setImageDrawableResouce(R.drawable.imgTemp); 
要计算1秒,可以使用

final ScheduledExecutorService exec = Executors.newScheduledThreadPool(1);

exec.schedule(new Runnable(){
    @Override
    public void run(){
       setYourImageView();//return the image to the original one
    }
}, 1, TimeUnit.SECONDS);
runOnUiThread(new Runnable() {
                        public void run() {

                            yourImageView.setImageDrawableResouce(R.drawable.imgTemp);
                           }

                        }
                    });
要在UI线程中执行此操作,可以使用

final ScheduledExecutorService exec = Executors.newScheduledThreadPool(1);

exec.schedule(new Runnable(){
    @Override
    public void run(){
       setYourImageView();//return the image to the original one
    }
}, 1, TimeUnit.SECONDS);
runOnUiThread(new Runnable() {
                        public void run() {

                            yourImageView.setImageDrawableResouce(R.drawable.imgTemp);
                           }

                        }
                    });

单击按钮时更改图像

ImageView image;
image.setImageResource(R.drawable.newimage);
并在2秒钟后更改默认图像

Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    public void run() {
        ImageView image;
        image.setImageResource(R.drawable.defaultimage);
    } 
}, 2000);

请不要提供选择器solutionImageButton barkk=(ImageButton)this.findViewById(R.id.barkk);barkk.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View v){playSound(bark);ImageView dog=(ImageView)findViewById(R.id.dog);dog.setImageResource(R.drawable.dog2);Handler Handler=new Handler();Handler.postDelayed(new Runnable()){public void run(){ImageView dog;dog.setImageResource(R.drawable.dog1);}}},2000);};我确实喜欢上面的内容,但在“dog.setImageResource(R.drawable.dog1);”行中有一条错误消息说明:局部变量dog可能尚未初始化。通过将“ImageView dog;”替换为“ImageView dog=(ImageView)findViewById(R.id.dog);“dog.setImageDrawable(R.drawable.dog1)”,可以解决thid问题;使用此选项。