我試圖實現一個EditText
,它將輸入限制爲只包含數字的大寫字母[A-Z0-9]。EditText上的InputFilter導致重複文本
我開始從這裏一些post.But我對三星Galaxy Tab 2得到一個問題的輸入過濾方法,但不是在模擬器或Nexus 4
問題是這樣的:
- 當我鍵入「A」文本顯示爲「A」其好處
- 現在當我鍵入「B」所以文本應該是「AB」但它給了我「AAB」 這看起來很奇怪。
總之它重複字符
以下是我正在使用此代碼工作代碼:
public class DemoFilter implements InputFilter {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
int dend) {
if (source.equals("")) { // for backspace
return source;
}
if (source.toString().matches("[a-zA-Z0-9 ]*")) // put your constraints
// here
{
return source.toString().toUpperCase();
}
return "";
}
}
XML文件中的代碼:
<EditText
android:id="@+id/et_licence_plate_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:hint="0"
android:imeOptions="actionNext"
android:inputType="textNoSuggestions"
android:maxLength="3"
android:singleLine="true"
android:textSize="18px" >
</EditText>
我完全卡住了在這一個,所以這裏的任何幫助將不勝感激。
感謝我們的答覆,讓我看看這是工作或沒有? –
它不能正常工作 –
呵呵,我在這裏檢查了發佈的代碼,它的工作方式和預期的一樣,你是否也可以發佈你的editText的xml文件實現,在這個實現中你添加了這個DemoFilter .. – CRUSADER