1

私のアプリでは、編集テキストと送信ボタンを備えたダイログがあり、編集テキストが空の場合、「何かを入力してください」というトーストメッセージが表示されました..私のコードは以下のとおりです

Button reviewPost = (Button) dialog.findViewById(R.id.submit);
        reviewPost.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    v.setEnabled(false);
                    EditText ratingComment = (EditText) dialog
                            .findViewById(R.id.reviewcomment);
                    String comment = ratingComment.getText().toString();



                    String postStatus = "Y";
                    if (spinner.getSelectedItemPosition() > 0) {
                        postStatus = "N";
                    }
                    RadioGroup rating = (RadioGroup) dialog
                            .findViewById(R.id.customrating);
                    int radioButtonID = rating.getCheckedRadioButtonId();
                    View radioButton = rating.findViewById(radioButtonID);
                    int ratingNo = rating.indexOfChild(radioButton);

                    String ratingValue = (ratingNo + 1) + "";

                    if (comment != null && !comment.equalsIgnoreCase("")){

                    new PostReviewMessage().execute(activity, comment,
                            ratingValue, postStatus); 
                    activity.finish();
                    }else{
                         Toast.makeText(activity, "Please enter your comment", Toast.LENGTH_SHORT).show();

                     }  
                    Constants.rivewDialog = new ProgressDialog(activity);
                    Constants.rivewDialog.setCanceledOnTouchOutside(false);
                    Constants.rivewDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                    Constants.rivewDialog.setMessage(activity.getString(R.string.postingrivew));
                    Constants.rivewDialog.setOnCancelListener(new OnCancelListener() {
                        @Override
                        public void onCancel(DialogInterface arg0) {

                        }
                    });
                    Constants.rivewDialog.show();
                    dialog.dismiss();
                    break;
                case MotionEvent.ACTION_MOVE:
                    break;
                case MotionEvent.ACTION_UP:
                    break;
                }
                return false;
            }
            }); 

しかし、編集テキストが空であっても、送信されるべきではありません。次のように条件を確認していますが、機能していません

if (comment != null && !comment.equalsIgnoreCase("")){

                    new PostReviewMessage().execute(activity, comment,
                            ratingValue, postStatus); 
                    activity.finish();
                    }else{
                         Toast.makeText(activity, "Please enter your comment", Toast.LENGTH_SHORT).show();

                     }
4

4 に答える 4

0

以下のコードで解決しました..問題は v.setEnabled(false);... if 条件に移動しました

if (comment != null && !comment.equalsIgnoreCase("")){
                            v.setEnabled(false);
                            new PostReviewMessage().execute(activity, comment,
                                    ratingValue, postStatus); 
                            Constants.rivewDialog = new ProgressDialog(activity);
                            Constants.rivewDialog.setCanceledOnTouchOutside(false);
                            Constants.rivewDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                            Constants.rivewDialog.setMessage(activity.getString(R.string.postingrivew));


                            Constants.rivewDialog.setOnCancelListener(new OnCancelListener() {
                                @Override
                                public void onCancel(DialogInterface arg0) {

                                }
                            });
                            Constants.rivewDialog.show();
                            dialog.dismiss();
                         }else{

                             Toast.makeText(activity, "Please enter your comment", Toast.LENGTH_SHORT).show();
                         }  
于 2013-04-03T07:39:36.367 に答える