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

サムがコメントで言っているように、これを行うこともできます(すべてViewが独自のハンドラーを持っているため):

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

TomLeeseが言ったようなハンドラーまたはJavaタイマーを使用できます

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