2016-11-09 32 views
0

我有一個問題,Button和Android.Here EditText是我的代碼:的onClick WEBSERVICES錯誤

sendButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(isOnline()) { 
       if(Subject.getText().toString().trim().equals("")){ 
        Subject.setError("Subject is required!"); 
        return; 
       } 
       if(Body.getText().toString().trim().equals("")){ 
        Body.setError("Body is required!"); 
        return; 
       } 
       final ProgressDialog progDailog = ProgressDialog.show(
         getActivity(), "Send email", "Sending.....", true); 
       new Thread() { 
        public void run() { 
         try { 
          int result = emailService.sendEmail(spinner.getSelectedItem().toString(), 
            Subject.getText().toString(), 
            Body.getText().toString() 
            ); 
          switch(result){ 
           case 1: 
            getActivity().runOnUiThread(new Runnable() { 
             public void run() { 
              Toast.makeText(getActivity(), "Email send successfully!", Toast.LENGTH_LONG).show(); 
             } 
            }); 
            break; 
           case -1: 
            getActivity().runOnUiThread(new Runnable() { 
             public void run() { 
              Toast.makeText(getActivity(), "Request Error !", Toast.LENGTH_LONG).show(); 
             } 
            }); 
            break; 
          } 
         } catch (Exception e) { 
         } 
         progDailog.dismiss(); 
        } 
       }.start(); 
      }else{ 
       Toast.makeText(getActivity(), "Please check your network connection... !", Toast.LENGTH_LONG).show(); 
      } 
     } 
    }); 

我的問題是這樣:如果我在Body的EditText文本輸入像stackoverflow它完美的作品和電子郵件服務被稱爲。但是,如果我輸入文字如stack overflow與空間,ProgressDialog不會出現,並且不會調用電子郵件服務。

在此先感謝。

+2

代碼中沒有任何東西會導致這種情況。您是否嘗試過調試以查看程序的流程? – Pedantic

+0

沒有足夠的代碼來查找問題。你的代碼片段應該可以工作。 –

+0

我想我有問題:我在電子郵件服務'HttpPost請求=新的HttpPost(url +「?email =」+ email +「&subject =」+ subject +「&body =」+ body);'。我不能發送身體像'堆棧溢出'一樣,我需要一個特殊的字符,如'stack-overflow'或'stack_overflow'.A URL不能包含文字空間。 –

回答

1

從您的後續評論(代碼仍未提供)中,您需要在進行HTTP Post調用之前轉義URI - 轉義文本將用%20替換「」,並允許主題和正文中包含空格。

+0

非常感謝!現在它工作完美。 –