java首先执行服务器调用,然后执行下一行代码
我想先执行文本为“tex2”的Toast,然后执行文本为“text1”的Toast,但是
在我的代码中,当我执行下面的代码(我指的是具有相同结构的不同代码)时,它以相反的顺序打印
(假设我要等待响应,然后执行下一步)
class A
{
public int onStartCommand(Intent intent, int flags, int startId)
{
getdatafromnet();
Toast.makeText(getApplicationContext(), "text1", Toast.LENGTH_LONG).show();
//..................code
}
void getdatafromnet()
{
//volley server call
stringRequest=new StringRequest(Request.Method.GET, url2,
new Response.Listener<String>()
{
@Override
public void onResponse(String response)
{
Toast.makeText(getApplicationContext(), "text2",Toast.LENGTH_LONG).show();
}
});
//....follwing volley parameters and calls
}
}
# 1 楼答案
如果希望在服务器调用返回后执行某些操作。最好将代码放在onResponse方法中,或者从onResponse方法中调用函数
# 2 楼答案
因为调用网络是异步的,所以无法得到正确的结果。 要处理它,您可以使用android。操作系统。处理程序
比如,