Android 如果我没有得到响应,则在某个特定的时间进行ProgressDialog
当我调用API并在收到服务器的响应后关闭它时,我正在使用一个Android 如果我没有得到响应,则在某个特定的时间进行ProgressDialog,android,progressdialog,Android,Progressdialog,当我调用API并在收到服务器的响应后关闭它时,我正在使用一个ProgressDialog,但我希望这个ProgressDialog仅显示20秒。如果API响应在20秒内未出现,则此ProgressDialog将关闭,然后我也将关闭我的活动并显示1条消息。这是我的方法: myProgressDialog是在类级别定义的: ProgressDialog myProgressDialog; myProgressDialog= new ProgressDialog(FlyerActivity.this)
ProgressDialog
,但我希望这个ProgressDialog
仅显示20秒。如果API响应在20秒内未出现,则此ProgressDialog
将关闭,然后我也将关闭我的活动并显示1条消息。这是我的方法:
myProgressDialog是在类级别定义的:
ProgressDialog myProgressDialog;
myProgressDialog= new ProgressDialog(FlyerActivity.this);
myProgressDialog.setMessage("Loading");
myProgressDialog.setCancelable(false);
myProgressDialog.show();
myAPIcallingMethod();
private void myAPIcallingMethod(){
someAPICall;
if (myProgressDialog.isShowing()){
myProgressDialog.dismiss();
}
}
myAPIcallingMethod实现:
ProgressDialog myProgressDialog;
myProgressDialog= new ProgressDialog(FlyerActivity.this);
myProgressDialog.setMessage("Loading");
myProgressDialog.setCancelable(false);
myProgressDialog.show();
myAPIcallingMethod();
private void myAPIcallingMethod(){
someAPICall;
if (myProgressDialog.isShowing()){
myProgressDialog.dismiss();
}
}
现在在这里,如果API响应在20秒后没有出现,那么这个ProgressDialog
将消失。使用这个
private static int TIME_OUT = 1000 * 20;
new Handler(Looper.getMainLooper()).postDelayed(new Runnable()
{
@Override
public void run()
{
//Do something here
progress.dismiss();
}
}, TIME_OUT);
用这个
private static int TIME_OUT = 1000 * 20;
new Handler(Looper.getMainLooper()).postDelayed(new Runnable()
{
@Override
public void run()
{
//Do something here
progress.dismiss();
}
}, TIME_OUT);
使用处理程序设置所需的20秒延迟 Handler Handler=新处理程序(Looper.getMainLooper()) 删除所有挂起的回调帖子和obj为令牌的已发送邮件。如果令牌为null,则将删除所有回调和消息
或者,您可以简单地在api请求上放置一个所需的超时值20秒 使用Handler设置所需的20秒延迟 Handler Handler=新处理程序(Looper.getMainLooper()) 删除所有挂起的回调帖子和obj为令牌的已发送邮件。如果令牌为null,则将删除所有回调和消息
或者,您可以简单地在api请求上放置一个所需的超时值20秒 我的方法是将APICall上的
超时设置为20秒。然后有一个特定的回调,这反过来可以关闭对话框
我看不出你的APICall是如何工作的,所以在这一点上我真的帮不了你 我的方法是将APICall上的超时设置为20秒。然后有一个特定的回调,这反过来可以关闭对话框
我看不出你的APICall是如何工作的,所以在这一点上我真的帮不了你 您可能应该在APICall上设置20秒的超时限制,然后对此进行特定的回调,这将能够关闭您的对话框。@raymondelacroix这是一种更好的方法。您可能应该在APICall上设置20秒的超时限制,然后对此进行特定的回调,这将反过来能够关闭您的对话框。@raymondelacroix这是一个非常好的方法。唯一的一件事是,如果在20秒内没有响应,我必须用一些消息关闭此活动,如果我在从API获得结果后使用此方法,这也将在该条件下关闭应用程序。唯一的一件事是,如果在20秒内没有响应,我必须关闭此活动并显示一些消息,如果我在从API获得结果后使用此方法,这也将在该条件下关闭应用程序。