Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android白虹劍之EditView之非法輸入

Android白虹劍之EditView之非法輸入

編輯:關於Android編程

 


白虹劍

        殷天正從身旁包袱中取出一口長劍,對張無忌道:“這柄白虹劍送了給你,這劍雖不如老賊尼的倚天劍有名,但也是江湖上罕見的利器。”說著伸指在劍刃上一彈,那劍陡地彎了過來,隨即彈直,嗡嗡作響,聲音清越。


        今天我們學習如何在Android平台“白虹劍”EditView中輸入特定的字符,並且具有校驗功能。類似於Java EE應用前端程序校驗用戶輸入的內容是否符合當前表單對應輸入域所支持數據類型。下面給出該情景的案例:

一、案例技術要點

EditText布局設置
android:digits:接收輸入字符為數字、小寫字母。
android:inputType:接收輸入字符為數字、email。
android:numeric:接收輸入字符為有符號的浮點數。


二、案例代碼陳列

工程包目錄

 \
 


AndroidManifest.xml

[html] 
<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> 

<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[html] view plaincopyprint?
<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> 

<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[html] view plaincopyprint?
<?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> 

<?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[java] view plaincopyprint?
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; 
                } 
            } 
        }); 
    } 
 

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;
                }
            }
        });
    }

}
三、案例效果展示
 

\ \
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved