2017-06-30 38 views
0
UIHelper.showProgressDialog(this); 
    ValCircuitPriceController controller = new ValCircuitPriceController(PlaceOrderActivity.this, this.exchangeID, this.instrumentID, et_PriceValue.getText().toString()); 
    controller.start(); 

    if (isValCircuitPrice) { 
     order.setOrderPrice(
      Double.parseDouble(et_PriceValue.getText().toString())); 
     isValCircuitPrice = false; 
    } else { 
     break; 
    } 

响应这是我的代码我打电话控制器从服务器获取响应,但得到从服务器响应之前,我如果条件通话和isValCircuitPrice默认情况下得到响应后假我将使它真正停止主线程同时获得来自服务器

+0

请添加错误日志。 在那之前你在主线程中进行网络操作吗? –

回答

0

用户asynTask的做到了这一点

private class ValCircuitPriceTask extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... params) { 
     ValCircuitPriceController controller = new 
     ValCircuitPriceController(PlaceOrderActivity.this, this.exchangeID, 
     this.instrumentID, et_PriceValue.getText().toString()); 
     controller.start(); 

     return ""; 
    } 

    @Override 
    protected void onPostExecute(String result) { 
     if (isValCircuitPrice) { 
      order.setOrderPrice(
      Double.parseDouble(et_PriceValue.getText().toString())); 
      isValCircuitPrice = false; 
     } else { 
      break; 
     } 
    } 

    @Override 
    protected void onPreExecute() { 
     UIHelper.showProgressDialog(this); 
    } 
} 

最后执行你的asyntask

new ValCircuitPriceTask().execute(""); 
+0

感谢Gautam ... – skIndia

+0

它没有工作im编写AsyncTask中的所有代码,但执行AsyncTask我如果循环执行 – skIndia

+0

我停止主线程2秒,但仍然我的条件执行之前asynctask – skIndia