android中的延迟动作

时间:2013-01-06 21:19:18

标签: android

我想在应用开始后5秒钟内更改imageView中的图片。

这是我到目前为止尝试的代码:

public class MainActivity extends Activity {
ImageView screen;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    screen=(ImageView)findViewById(R.id.imageView1);

    screen.setImageResource(R.drawable.ic_launcher);

    }
}

3 个答案:

答案 0 :(得分:69)

您可以使用Handler,例如:

Handler handler = new Handler();
handler.postDelayed(new Runnable() {

    @Override
    public void run() {
        // change image
    }

}, 5000); // 5000ms delay

Sam在评论中说,你也可以这样做(因为所有View都有自己的处理程序):

screen.postDelayed(new Runnable() {

    @Override
    public void run() {
        // change image
    }

}, 5000); // 5000ms delay

请参阅Handler Documentation

答案 1 :(得分:2)

你可以尝试这样的线程:

 new Thread(){  
        public void run(){  
            //sleep(5000);
            //refreshSthHere();
        }  
    }.start();  

答案 2 :(得分:1)

您可以像Tom Leese所说的那样使用Handler或Java Timer

new Timer().schedule(new TimerTask() {          
    @Override
    public void run() {
        // this code will be executed after 2 seconds       
    }
}, 2000);