簡體   English   中英

檢查警報對話框android中的空編輯文本

[英]check empty edit text in an alert dialog android

我有以下代碼用於檢查警告對話框中的空編輯文本,但它無法正常工作

    if (mPhoneNumber == null) {
        mPhoneNumber = GetNumber();
        if (mPhoneNumber == "Error") {

            final AlertDialog.Builder alert = new AlertDialog.Builder(this);
            alert.setTitle("Warrning");
            alert.setMessage("Please Set Your Phone number");
            final EditText input = new EditText(this);
            input.setInputType(InputType.TYPE_CLASS_PHONE);
            alert.setView(input);
            alert.setPositiveButton("Ok",new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int whichButton) {
                            String value = input.getText().toString();
                            while (value.isEmpty())
                            {
                                alert.setTitle("Warrning");
                                alert.setMessage("Please Set Your Phone number");
                                alert.setView(input);
                                alert.setPositiveButton("Ok",new DialogInterface.OnClickListener() {
                                            public void onClick(DialogInterface dialog,int whichButton) {
                                                String value = input.getText().toString();}});
                            }
                            String Result = SetNumber(value);
                            mPhoneNumber = value;
                            int UserServiceId = CallLogin(mPhoneNumber);
                            if (UserServiceId > 0) {
                                Intent Service = new Intent(MainScreeen.this,
                                        RecipeService.class);
                                Service.putExtra("UserId", UserServiceId);
                                startService(Service);
                            } else {
                                Intent Reg = new Intent(MainScreeen.this,Regsteration.class);
                                Reg.putExtra("PhoneNumber", mPhoneNumber);
                                startActivity(Reg);
                            }
                        }
                    });
            alert.show();

我需要強制用戶使用他/她的電話號碼,而不是讓編輯文本為空,我使用了一個while循環,但它不起作用

看起來您正在嘗試比較String值。 你不能這樣做

if (mPhoneNumber == "Error")

改變為

if("Error".equals(mPhoneNumber))

==比較它們是否是Strings的相同對象,但如果它們具有相同的值則不會。 這樣做你不應該需要null檢查,因為如果mPhoneNumbernull “Error”將不等於mPhoneNumber

而不是使用while循環,為什么不讓你的AlertDialog構建一個單獨的方法並調用該方法,然后在你的AlertDialog按鈕的onClick上使用if else檢查該值是否為空以及是否為遞歸調用AlertDialog方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM