zoukankan      html  css  js  c++  java
  • Android白虹剑之EditView之非法输入

    传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229


    白虹剑

            殷天正从身旁包袱中取出一口长剑,对张无忌道:“这柄白虹剑送了给你,这剑虽不如老贼尼的倚天剑有名,但也是江湖上罕见的利器。”说着伸指在剑刃上一弹,那剑陡地弯了过来,随即弹直,嗡嗡作响,声音清越。

            今天我们学习如何在Android平台“白虹剑”EditView中输入特定的字符,并且具有校验功能。类似于Java EE应用前端程序校验用户输入的内容是否符合当前表单对应输入域所支持数据类型。下面给出该情景的案例:

    一、案例技术要点

    EditText布局设置
    android:digits:接收输入字符为数字、小写字母。
    android:inputType:接收输入字符为数字、email。
    android:numeric:接收输入字符为有符号的浮点数。

    二、案例代码陈列

    工程包目录


    AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.android.edittext"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="15" />
    
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <activity
                android:name=".EditTextMainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
     
    </manifest>
    strings.xml
    <resources>
        <string name="app_name">EditText输入特定字符,并校验</string>
        <string name="btn">确认</string>
        <string name="tv1">输入数字(android:digits)</string>
        <string name="tv2">输入小写字母(android:digits)</string>
        <string name="tv3">输入数字(android:inputType)</string>
        <string name="tv4">输入Email(android:inputType)</string>
        <string name="tv5">输入有符号的浮点数(android:numeric)</string>
    </resources>
    main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <TextView android:id="@+id/tv1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tv1" />
        <EditText android:id="@+id/et1"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:digits="0123456789" />
        
        <TextView android:id="@+id/tv2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tv2" />
        <EditText android:id="@+id/et2"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:digits="abcdefghijklmnopqrstuvwxyz" />
        
         <TextView android:id="@+id/tv3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tv3" />
        <EditText android:id="@+id/et3"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:inputType="number|textCapCharacters" />
        
        <TextView android:id="@+id/tv4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tv4" />
        <EditText android:id="@+id/et4"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:inputType="textEmailAddress" />
        
        <TextView android:id="@+id/tv5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tv5" />
        <EditText android:id="@+id/et5"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:numeric="decimal|signed" />
        
        <Button android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/btn" />
    </LinearLayout>
    
    EditTextMainActivity.java
    package com.android.edittext;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    
    /**
     * EditText案例二:输入特定的字符,并实现校验功能
     * @author lynnli1229
     */
    public class EditTextMainActivity extends Activity {
        private EditText et1;
        private Button btn;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            et1 = (EditText) findViewById(R.id.et1);
            btn = (Button) findViewById(R.id.btn);
            btn.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    String value = et1.getText().toString();
                    if(value==null || value.trim().equals("")) {
                        et1.setError("请输入内容!");
                        return;
                    }
                }
            });
        }
    
    }
    
    三、案例效果展示
     
  • 相关阅读:
    4种xml解析器区别
    eclipse的快捷键(常用)
    eclipse修改项目访问前缀
    oracle创建用户
    导入安全证书到jdk
    laravel 命令行输出进度条
    sql 事务的四种隔离级别
    supervisor 通过图形界面管理
    supervisor "INFO spawnerr: unknown error making dispatchers for xxx" 错误
    linux expect 的使用
  • 原文地址:https://www.cnblogs.com/innosight/p/3271179.html
Copyright © 2011-2022 走看看