嗨,我有创建电子邮件验证程序的问题。我问你一些提示,因为我必须用类AllertDialog.Builder创建电子邮件验证器,如果电子邮件是正确的,那么对话框消息是“Adress email is Correct”,按钮“ok”返回主视图,但是如果电子邮件是不正确然后消息是“地址电子邮件不正确”和按钮“保存”和“清除”,这意味着分别在textview中保存地址电子邮件并在textview中清除地址。 但我不知道如何在MainActivity中创建代码,我多次尝试但总是有问题。有人可以一步一步地写信给我:
1)如何正确声明按钮和textview
2)如何声明alertDialog构建和在哪里
3)如何创建正面和负面按钮
谢谢
ps:我是菜鸟;)
答案 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()
}
我会非常感谢你的帮助。