編輯:關於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;
}
}
});
}
}
三、案例效果展示
File file = new File(“hah.txt”);//只是創建了一個對象file, file指向了hah.txt這個文件,hah.t
在錄音機中添加一個錄音列表項,點擊後用戶可以看到已經存在的錄音文件。效果圖如下: 修改代碼參照如下: 最初的錄音機是沒有錄音列表選項的,所
下拉刷新上拉加載更多的擴展ListView在很多APP我們都能看到,在一個列表上面,將手指往屏幕下面滑動,列表上方就會出現一個隱藏的View,一般寫有“下拉刷
Android Studio的代碼自動檢測的錯誤提示方式感覺有點奇葩,和Eclipse差別很大,Eclipse檢測到某個資源文件找不到或者錯誤,都會在Project中對應