`

Android-文本框验证

 
阅读更多

在android系统中经常需要使用到验证,比如验证输入的文本是否非空,邮箱地址是否合法,是否是数字等等。

如果有文本为空,则光标自动跳转到此文本中。

 

这里简单的介绍一种非空的验证,其他格式的验证,希望能举一反三  增加验证规则即可。

 

前端main.xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
	android:orientation="vertical"
    tools:context=".MainActivity" >
	
     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/name"  
        android:text="姓名:"/>
    <EditText android:id="@+id/editText_name" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="请输入文本信息"
        />
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/age"  
        android:text="年龄:"/>
    
     <EditText android:id="@+id/editText_age"
         android:layout_height="wrap_content"
         android:layout_width="fill_parent"
         android:hint="请输入年龄"/>

    <Button android:id="@+id/btnSubmit"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="提交验证"/>
</LinearLayout>

 

当点击提交验证按钮时,则在Activity中进行验证,具体代码如下:

package com.example.fourandroid;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

@SuppressLint("ShowToast")
public class MainActivity extends Activity {
	private EditText editText_name;
	private EditText editText_age;
	private Button btnSubmit;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.activity_main);
		
		//获取组件信息;
		this.editText_name = (EditText) super.findViewById(R.id.editText_name);
		this.editText_age = (EditText)super.findViewById(R.id.editText_age);
		
		//给按钮设置单击事件;
		this.btnSubmit = (Button)super.findViewById(R.id.btnSubmit);
		this.btnSubmit.setOnClickListener(new myBtnSubmitImpl());
	}

	public class myBtnSubmitImpl implements OnClickListener{
		@Override
		public void onClick(View v) {
			boolean bol = true;
			
			String age = MainActivity.this.editText_age.getText().toString();
			String name = MainActivity.this.editText_name.getText().toString();
			//实例化对话框;
			AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
			builder.setTitle("提示信息");
			
			//判断name是否为空;
			if(name == null || name.trim().length() == 0 || "".equals(name.trim())){
				builder.setMessage("Name不能为空,请输入信息.");
				builder.setPositiveButton("确认", new DialogInterface.OnClickListener(){
					@Override
					public void onClick(DialogInterface dialog, int which) {
						setResult(RESULT_OK); 
					}
				});
				
				//设置焦点信息;
				MainActivity.this.editText_name.setFocusable(true);
				MainActivity.this.editText_name.setFocusableInTouchMode(true);
				MainActivity.this.editText_name.requestFocus();
				MainActivity.this.editText_name.requestFocusFromTouch();
				builder.show();
				//标识此文本框属性为空;
				bol = false;
				return;
			}
			
			//判断address是否为空;
			if(age == null || "".equals(age) || age.trim().length() == 0){
				builder.setMessage("Age不能为空,请输入信息.");
				//给对话框增加一个确定按钮;
				builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { 
					//监听单击事件;
					public void onClick(DialogInterface dialog, int whichButton) { 
						setResult(RESULT_OK);//确定按钮事件 ;
					} 
				}) ;
				
				//设置address焦点;
				MainActivity.this.editText_age.setFocusable(true);
				MainActivity.this.editText_age.setFocusableInTouchMode(true);
				MainActivity.this.editText_age.requestFocus();
				MainActivity.this.editText_age.requestFocusFromTouch();
				
				//显示提示框;
				builder.show();
				//标识此文本框属性为空;
				bol = false;
				return;
			}
			
			if(bol){
				//设置提示信息.
				Toast.makeText(MainActivity.this, "恭喜你,验证成功", Toast.LENGTH_LONG).show();
			}
		}
	}
}

 

效果如下:

 



 

  • 大小: 30.1 KB
  • 大小: 29.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics