Android 如何使用处理程序更改ImageView';2秒后的图片,和5?

Android 如何使用处理程序更改ImageView';2秒后的图片,和5?,android,Android,我有一个图像视图,显示一张图片。我试着用一根线,但它不能改变画面。然后我尝试了一个处理程序,但它不处理sleep(int)方法,所以我不能增加时间,也就是所经过的时间。我怎样才能做到?你能写一个例子吗 这是我的原始代码: @Override public void onClick(View v) { // TODO Auto-generated method stub Thread timer = new Thread()

我有一个图像视图,显示一张图片。我试着用一根线,但它不能改变画面。然后我尝试了一个处理程序,但它不处理sleep(int)方法,所以我不能增加时间,也就是所经过的时间。我怎样才能做到?你能写一个例子吗

这是我的原始代码:

@Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                Thread timer = new Thread() {
                    public void run() {
                        int time = 0;
                        while (time <= 7000) {
                            try {
                                sleep(100);
                                time =+ 100;
                                if(time == 2000) {
                                    radar.setImageResource(R.drawable.radar_full);
                                }
                                if(time == 5000) {
                                    radar.setImageResource(R.drawable.radar_50);
                                }
                                if(time == 7000) {
                                    radar.setImageResource(R.drawable.radar_found);
                                }
                            } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();


        }
};
                    timer.start();
                    };
                };
@覆盖
公共void onClick(视图v){
//TODO自动生成的方法存根
线程计时器=新线程(){
公开募捐{
整数时间=0;

然而(时间这里有一些教程供您参考:


似乎您需要了解更多关于线程和处理程序的一般信息。但是,值得指出的是,您不能从
线程中更新UI元素,我猜这就是您试图做的;UI更新(例如更改
图像视图的内容)必须在UI线程内完成。因此,在UI线程上更新
处理程序
内的图像的方向是正确的。您只需要一种方法来按时间间隔调用该处理程序,上面的教程演示了一种方法,只需将消息发布到
处理程序
以下是几个教程为您准备的ls:


似乎您需要了解更多关于线程和处理程序的一般信息。但是,值得指出的是,您不能从
线程中更新UI元素,我猜这就是您试图做的;UI更新(例如更改
图像视图的内容)必须在UI线程内完成。因此,在UI线程上更新
处理程序
内的图像的方向是正确的。您只需要一种方法来按时间间隔调用该处理程序,上面的教程演示了一种方法,只需将消息发布到
处理程序

,您就可以尝试使用线程了吗发布你的代码以便人们能够帮助你,不是更好吗?因为我怀疑有人会做你所有的工作。我的意思是说线程不工作听起来像…我最好不要完成这句话为什么在处理程序中使用sleep()??你可以只编写handler.sendMessageAtTime(消息m,长正常运行时间)您尝试使用线程?发布代码以便人们能够帮助您不是更好吗,因为我怀疑是否有人会完成您所有的工作。我的意思是说线程不工作听起来像…我最好不要完成这句话为什么在处理程序中使用sleep()