2017-06-30 77 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