`

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
分享到:
评论

相关推荐

    Android-lib_axure.rar_Android-lib_axure_Axure_android_axure andr

    该库包含的组件涵盖了Android系统中的常见控件,如按钮、文本框、列表视图、滑动选择器等,甚至包括了一些复杂组件,如滑动导航栏、底部导航、折叠式布局等。这些组件不仅外观逼真,还支持各种交互动作,如点击、...

    Android-Form-Master这个库用于轻松地以编程方式添加包含大量元素的表单

    在Android应用开发中,我们常常需要创建包含大量输入元素的表单,如文本框、选择器、开关等。这些表单的创建和管理可能会变得繁琐,特别是在需要动态生成或者根据业务逻辑变化时。这时,`Android-Form-Master`库就...

    Android文本框自动填充短信验证码

    本项目“Android文本框自动填充短信验证码”旨在提供一个直接运行的示例,帮助开发者理解并实现这一功能。 首先,自动填充服务( Autofill Service )是Android系统的一项特性,它能够根据用户的历史输入数据,智能...

    Android源码:文本框可输入字符数量源码

    在Android开发中,文本框(EditText)是用户输入文本的基本组件。当需要限制用户在文本框内输入的字符数量时,通常需要自定义一个EditText控件或者通过监听输入事件来实现这一功能。以下是对"Android源码:文本框可...

    Android 提示文本框还能输入多少个字符源码.rar

    在Android开发中,提示文本框(EditText)是用户与应用交互的重要组成部分,它允许用户输入文本数据。有时候,为了提供更好的用户体验,开发者可能希望在用户输入时实时显示还能输入多少个字符。这样的功能常见于...

    face-recognition-attendance-android-app-main.zip

    对于人脸识别,可能使用了深度学习模型,如FaceNet、VGGFace或MTCNN,这些模型经过训练可以识别出不同人脸,甚至在一定程度上实现人脸验证和识别。 4. **Android权限管理**:由于涉及到相机访问和存储权限,项目中...

    android-php-weibo.zip_Android 小应用_android

    在这个项目中,我们可以期待看到如何使用Android SDK中的Twitter4J或者其他类似的第三方库来实现微博接口的调用,这可能包括登录验证、发布微博、获取时间线等核心功能。 1. **Android环境搭建**:首先,开发者需要...

    安卓搜索相关相关-AutoCompleteTextViewandroid文本框的模糊检索.rar

    这个压缩包“安卓搜索相关相关-AutoCompleteTextViewandroid文本框的模糊检索.rar”包含了一些关于如何在Android应用中实现AutoCompleteTextView模糊检索的示例代码。 AutoCompleteTextView的核心特性在于它可以...

    Android代码-注解式表单UI验证框架。activity,fragment 内文本框,输入框校验

    表单验证框架,支持对 activity/Fragment 内的 TextView/EditText 进行规则验证 compile 'com.github.LongMaoC:validateui:v2.3' 部分效果图(demo在根目录下 ./apk/demo.apk) 更新内容 20171010 : 新增输入监听...

    Android获取验证码自动填写文本框,完美兼容Android 6.0以上手机

    // 验证码已填充,进行验证 } }) ``` 总结起来,实现Android 6.0以上手机的验证码自动填写功能,开发者需要理解并运用Android的`autofill`服务,创建意图服务来接收验证码,定义自动填充服务,设置布局中的自动...

    Study01Android

    2. **布局文件(XML文件)**:如activity_main.xml,用于定义用户界面的结构,包括控件(按钮、文本框等)的位置和属性。 3. **资源文件(res文件夹)**:包含颜色、图片、字符串等资源,是Android应用不可或缺的...

    Android-Discount-Calculator:Android折扣计算器

    - **布局文件**:应用的UI设计通常在XML布局文件中完成,如`activity_main.xml`,用于定义按钮、文本框等视图元素的位置和样式。 2. **Java编程**: - **数据处理**:Java类(如`DiscountCalculator.java`)负责...

    android开发 用户注册 将注册信息用文本框弹出显示

    在Android开发中,用户注册是应用的基本功能之一...以上就是Android开发中实现用户注册并将信息用文本框弹出显示所涉及的主要知识点。实际开发过程中,还需要结合具体需求进行调整和优化,确保功能的完整性和用户体验。

    获取文本框内容.zip

    这个项目可能还涉及到了Android的事件处理机制、数据验证以及用户反馈的呈现方式(如Toast)。通过学习和实践这个项目,开发者可以掌握在Android应用中处理用户输入的基本技巧,这对于任何需要用户交互的应用都是必...

    Android SDK安装.docx

    - 在 “Work with” 文本框中输入 `http://dl-ssl.google.com/android/eclipse/`,并自定义名称(如 “ADT”)。 ##### 3. 选择并安装 ADT - 在 “Available Software” 列表中,选择 “Developer Tools” 分类下...

    文本框时间控件clock

    - 自动验证:时间控件通常会自动验证用户输入,确保时间格式正确。 - 可配置的日期范围:开发者可以设置最小和最大可选时间,防止用户选择无效日期。 - 提示信息:可以设置默认值或提示文字,指导用户如何输入。 - ...

    MiniActv-3-ANDROID-part2

    10. **测试**:为了确保应用的质量,开发者可能会编写JUnit或Espresso测试用例来验证代码的正确性,并使用模拟器或真实设备进行测试。 综上所述,"MiniActv-3-ANDROID-part2"是一个全面的Android开发练习,涵盖了从...

    Android应用源码之文本框可输入字符数量源码.zip

    在Android开发中,文本框(EditText)是用户输入数据的基本组件。`Android应用源码之文本框可输入字符数量源码.zip` 提供了一个实例,它着重于限制用户在EditText中可以输入的字符数量。这个功能对于许多应用场景...

    android-studio-calculator-app-code:android studio计算器应用程序源代码-Calculator source code

    XML布局文件描述了屏幕上的各个组件,如按钮和文本框,以及它们的排列方式和属性。 3. **活动(Activity)**:在Android应用中,Activity是用户与应用交互的入口点。计算器应用的核心活动可能是`MainActivity.java`...

    Android代码-test-显示隐藏.zip

    这可能涉及到用户界面(UI)交互,比如按钮、文本框或者整个布局在特定条件下的可见性变化。标题"Android代码-test-显示隐藏.zip"暗示了这个压缩包包含了一些关于如何在Android应用中控制视图可见性的代码示例。 在...

Global site tag (gtag.js) - Google Analytics