onClick 网络服务错误
onClick Webservices error
我的 Button
有问题,Android.Here 中的 EditText
是我的代码:
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 中输入像 Whosebug
这样的文本,它工作得很好并且电子邮件服务是 called.But,如果我输入像 [=15] 这样的文本=] with space,ProgressDialog
没有出现并且没有调用电子邮件服务。
提前致谢。
根据您的后续评论(仍未提供代码),您需要在进行 HTTP Post 调用之前转义 URI - 转义文本会将“”替换为 %20,并允许在主题和正文中使用空格.
我的 Button
有问题,Android.Here 中的 EditText
是我的代码:
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 中输入像 Whosebug
这样的文本,它工作得很好并且电子邮件服务是 called.But,如果我输入像 [=15] 这样的文本=] with space,ProgressDialog
没有出现并且没有调用电子邮件服务。
提前致谢。
根据您的后续评论(仍未提供代码),您需要在进行 HTTP Post 调用之前转义 URI - 转义文本会将“”替换为 %20,并允许在主题和正文中使用空格.