android中的延迟动作

A.J*_*uni 11 android

我想在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);

    }
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*ese 72

您可以使用Handler,例如:

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

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

}, 5000); // 5000ms delay
Run Code Online (Sandbox Code Playgroud)

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

screen.postDelayed(new Runnable() {

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

}, 5000); // 5000ms delay
Run Code Online (Sandbox Code Playgroud)

请参阅Handler文档.

  • 您甚至不需要创建新的Handler.每个View都有一个内置的,并使用`screen.post()`或`screen.postDelayed()`访问它. (4认同)