簡體   English   中英

我希望我的警報對話框觸發並保持顯示錯誤消息

[英]I want my alert dialog box to trigger and stay showing an error message

如果用戶將名稱字段留空並單擊確定,我希望我的警報對話框觸發並保持顯示錯誤消息,但即使用戶未填寫任何內容並單擊確定,我的對話框也會消失。這是我的代碼。 請給我建議我需要做的更正。

    save2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                final dbmanager db= new  dbmanager(cgpa3.this);

                    final AlertDialog.Builder alert = new AlertDialog.Builder(cgpa3.this);

//                            alert.setTitle("Enter a name");
                alert.setMessage("Enter student Name");

// Set an EditText view to get user input
                final EditText input = new EditText(cgpa3.this);
                alert.setView(input);


                    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            String value = input.getText().toString();
                            if(value.isEmpty()){
                                Animation shake = AnimationUtils.loadAnimation(cgpa3.this, R.anim.shake);
                                input.startAnimation(shake);
                                input.setError("Please enter student name");

                            }
                            else
                            {db.addRecord1(value,textView39.getText(),textView40.getText(),no_of_sem);

                            }

                        }
                    });

                    alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            // Canceled.
                        }
                    });

                    alert.show();

            };

        });

用這個,

       final EditText editText;

            final AlertDialog.Builder alert = new AlertDialog.Builder(DemoActivity.this);
                       alert.setTitle("Enter a name");
             alert.setMessage("Enter student Name");
            alert.setCancelable(false);


            editText = new EditText(DemoActivity.this);
            alert.setView(editText);
            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                }
            });

            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                }
            });

            final AlertDialog dialogs  = alert.create();
            dialogs.show();

            dialogs.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String value = editText.getText().toString();
                    if (value.isEmpty()) {
                        editText.setError("Please enter student name");
                    }
                    else{
                        dialogs.dismiss();
                    }

                }
            });

            dialogs.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    dialogs.dismiss();
                }
            });
if(TextUtils.isEmpty(input.getText().toString().trim())){
 Animation shake = AnimationUtils.loadAnimation(cgpa3.this, R.anim.shake);
                            input.startAnimation(shake);
                            input.setError("Please enter student name");
}
else{
db.addRecord1(value,textView39.getText(),textView40.getText(),no_of_sem);
}

如果工作請批准

暫無
暫無

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

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