12

我想在imageView应用启动 5 秒后更改图像。

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

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);

    }
}
4

3 回答 3

76

您可以使用Handler,例如:

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

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

}, 5000); // 5000ms delay

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

screen.postDelayed(new Runnable() {

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

}, 5000); // 5000ms delay

请参阅处理程序文档

于 2013-01-06T21:21:44.980 回答
3

你可以试试这样的线程:

 new Thread(){  
        public void run(){  
            //sleep(5000);
            //refreshSthHere();
        }  
    }.start();  
于 2013-01-07T06:31:04.303 回答
1

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

new Timer().schedule(new TimerTask() {          
    @Override
    public void run() {
        // this code will be executed after 2 seconds       
    }
}, 2000);
于 2015-08-13T09:36:30.527 回答