有时候,在设计欢迎界面的时候,我们需要设计到从欢迎界面自动跳转到下一个界面。
这时,使用的方法是,重新开启一个异步线程,让线程停歇几秒,然后跳转到下一个界面。
1.用handler:
new Handler().postDelayed(new Runnable() {
public void run() {
// 在子线程中,引用当前活动的context对象
intent = new Intent(BasicActivity.this, MainActivity.class);
startActivity(intent);
}
}, 5000);
2.AsynTask:
class MyAsynTask extends AsyncTask<Context, Void, Void> {
Intent intent;
Context context;
@Override
protected Void doInBackground(Context... params) {
// TODO Auto-generated method stub
try {
Thread.sleep(5000);
// 获取传入的活动对象
context = params[0];
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
// 跳转到下一个活动
intent = new Intent(context, MainActivity.class);
context.startActivity(intent);
}
}
在ui线程中添加执行方法:
MyAsynTask myasyntask = new MyAsynTask();
myasyntask.execute(this);