问题描述
我有以下活动:
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
StringRequest req = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Intent mainIntent = new Intent(SplashActivity.this, MainActivity.class);
SplashActivity.this.startActivity(mainIntent);
SplashActivity.this.finish();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Handle error
}
});
CustomVolleyRequestQueue.getInstance(mCtx).addToRequestQueue(req);
}
}
它在发送请求时显示SplashActivity
,并在收到响应时打开其他活动。
没关系,除了我需要显示SplashActivity
至少 4 秒。
那么我接下来该怎么做:
如果自显示活动开始经过 4 秒并得到响应显示MainActivity
其他等待?
1楼
作为响应使用计时器
private final int DELAY = 4000;
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent mainIntent = new Intent(SplashActivity.this, MainActivity.class);
SplashActivity.this.startActivity(mainIntent);
SplashActivity.this.finish();
}
timer.cancel();
}
}, DELAY);