Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何举办体育活动?_Java_Android_Android Volley - Fatal编程技术网

Java 如何举办体育活动?

Java 如何举办体育活动?,java,android,android-volley,Java,Android,Android Volley,我有以下活动: public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); StringRequest req = new Str

我有以下活动:

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扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
StringRequest req=新的StringRequest(Request.Method.GET,url,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Intent maintent=新的Intent(SplashActivity.this、MainActivity.class);
SplashActivity.this.startActivity(主要目的);
SplashActivity.this.finish();
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//处理错误
}
});
CustomVolleyRequestQueue.getInstance(mCtx).addToRequestQueue(req);
}
}
当发送请求时,它显示
SplashActivity
,当收到响应时,打开其他活动。没关系,只是我需要显示
SplashActivity
至少4秒钟。那么我下一步该怎么做:

如果自开始显示活动后经过4秒并得到响应show
MainActivity
else wait?

在响应中使用计时器

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

使用
Handler
用于此目的如果您的意思与此答案类似,我无法确定如何检查我是否收到了响应,如果没有,则等待直到收到请求?使用
Chronometer
但是如果请求的时间很长,设为5秒,则等待时间将为5秒+延迟,用于该使用系统。在请求调用之前,currentTimeMillis()将再次成功调用系统。currentTimeMillis()将查找差异,如果小于5秒,则延迟将为5000-剩余时间如果大于5000,则无需调用计时器直接启动MainActivity