onClick Webservices错误

时间:2016-11-09 20:38:31

标签: android android-edittext android-button

我在Android中遇到ButtonEditText的问题。这是我的代码:

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之类的文字,那么它就可以正常运行并调用电子邮件服务。但是,如果我输入{{1}这样的文字如果没有空格,则stack overflow不会显示,并且不会调用电子邮件服务。

提前致谢。

1 个答案:

答案 0 :(得分:1)

从您的后续评论(仍未提供代码)中,您需要在进行HTTP Post调用之前转义URI - 转义文本将使用%20替换“”并允许主题和正文中的空格。