电子邮件验证器中的警报对话框

时间:2018-04-01 09:19:56

标签: android button alertdialog

嗨,我有创建电子邮件验证程序的问题。我问你一些提示,因为我必须用类AllertDialog.Builder创建电子邮件验证器,如果电子邮件是正确的,那么对话框消息是“Adress email is Correct”,按钮“ok”返回主视图,但是如果电子邮件是不正确然后消息是“地址电子邮件不正确”和按钮“保存”和“清除”,这意味着分别在textview中保存地址电子邮件并在textview中清除地址。 但我不知道如何在MainActivity中创建代码,我多次尝试但总是有问题。有人可以一步一步地写信给我:

1)如何正确声明按钮和textview

2)如何声明alertDialog构建和在哪里

3)如何创建正面和负面按钮

谢谢

ps:我是菜鸟;)

2 个答案:

答案 0 :(得分:0)

使用以下模式创建xml文件,并将其命名为dialog.xml,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
....>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/title"
    android:id="@+id/textView10"
    ... />


<Button
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="@string/yes"
    android:id="@+id/yes"
    .../>

<Button
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="@string/no"
    android:id="@+id/no"
    ... />

</RelativeLayout>

现在你需要编写一个java代码来连接你在xml中创建的对话框视图,

Dialog boxDialog= new Dialog(this);
boxDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        boxDialog.setContentView(R.layout.dialog);
        boxDialog.setCancelable(false);

        Button yes = (Button) boxDialog.findViewById(R.id.yes);
        Button no = (Button) boxDialog.findViewById(R.id.no);
        //Connect TextView as well
        no.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Do your code here
            }
        });
        yes.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               //Do your code here
            }
        });

boxDialog.show();

答案 1 :(得分:0)

我创造了一些现在不起作用的东西,但这不是主要问题。我会问你我的代码有多正确以及如何通过类检查电子邮件验证,这是正确的。

这是我的mainActivity

类MainActivity:Activity(){

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

Button button = (Button) findViewById(R.layout.activity_main);
    TextView editText = (TextView) findViewById(R.layout.activity_main);
    button.setOnClickListener(new View.OnClickListener(){
        @Override public void OnClick(View v){
            if(!EmailValidator) // check if address email is correct by class
            AlertDialog.Builder builder= new AlertDialog.Builder(MainActivity.this);
            builder.setMessage("Address email is correct" )
                    .setPositiveButton("ok", new DialogInterfaceListener(){
                        @Override public void onClick(DialogInterface dialog, int which){

                            // return to main display
                        }

                        AlertDialog.alert = builder.create();
                        alert.show();
                    })

                    AlertDialog.Builder builder2 = new AlertDialog.Builder(MainActivity.this);
            builder.setMessage("Addres email is incorrect")
                    .setPositiveButton("save", null);
            .setNegativeButton("clear", newDialogInterfaceListener())
            @Override public void OnClick(DialogInterface dialog, int which){
                // clear textview


        }

                   AlertDialog.alert = builder.create();
            alert.show();
            )
        }


    })

} }

这是我的emailValidator 包com.daftmobile.a4bhomework1

import java.util.regex.Pattern

对象EmailValidator {     private val pattern = Pattern.compile(&#34; [A-Z0-9a-z ._%+ - ] + @ [A-Za-z0-9 .-] + \。[A-Za-z] { 2,64}&#34)

fun isValidEmail(email: String) = pattern.matcher(email).matches()

}

我会非常感谢你的帮助。