Android开发之键盘事件,验证邮箱…

Android开发之键盘事件,验证邮箱格式

Android开发之键盘事件,验证邮箱格式

.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context=".MainActivity" >

    <TextView 
        android:id="@+id/info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Email"/>
    <EditText 
        android:id="@+id/email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:selectAllOnFocus="true"/>
    <ImageView 
        android:id="@+id/tip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/wrong"/>

</LinearLayout>

.java

package com.example.keylistenerdemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.EditText;
import android.widget.ImageView;


public class MainActivity extends Activity {

private EditText email=null;
private ImageView tip=null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.email=(EditText) super.findViewById(R.id.email);
this.tip=(ImageView) super.findViewById(R.id.tip);
//添加键盘的事件
this.email.setOnKeyListener(new OnKeyListenerImp());
}

private class OnKeyListenerImp implements OnKeyListener{

public boolean onKey(View dialog, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
switch(event.getAction()){
case KeyEvent.ACTION_UP:
String msg=MainActivity.this.email.getText().toString();
if(msg.matches("\\w+@\\w+\\.\\w+")){
//验证通过
MainActivity.this.tip.setImageResource(R.drawable.right);
}
else{
MainActivity.this.tip.setImageResource(R.drawable.wrong);
}
case KeyEvent.ACTION_DOWN:
break;
}
return false;
}
}

}

你可能感兴趣的:(Android开发之键盘事件,验证邮箱…)