是否可以將過濾器(我不確定這個名稱)附加到EditTexts,以便如果用戶以錯誤的方式鍵入某些內容,而不是在EditText上彈出某種類型的警告?EditText的任何內置過濾選項?
例如:表單上有一個EditText,它必須填充。因此,直到它爲空時,其中會顯示一些警告,表明它是表單上的必填字段。
我在EditTexts上看到了類似Android的行爲,所以我想這裏面有一個內置功能,但是我找不到它。請有人幫助我嗎?
目標Android版本是3.0以上。
是否可以將過濾器(我不確定這個名稱)附加到EditTexts,以便如果用戶以錯誤的方式鍵入某些內容,而不是在EditText上彈出某種類型的警告?EditText的任何內置過濾選項?
例如:表單上有一個EditText,它必須填充。因此,直到它爲空時,其中會顯示一些警告,表明它是表單上的必填字段。
我在EditTexts上看到了類似Android的行爲,所以我想這裏面有一個內置功能,但是我找不到它。請有人幫助我嗎?
目標Android版本是3.0以上。
您可能需要添加TextWatcher,並在實施public void afterTextChanged(Editable s)
時做出相應的反應。只需檢查s
是否爲空,或者是否正確。
你也可以執行filters,但那些通常是以阻止用戶輸入錯誤的數據。
在xml中查看EditText
的android:inputType
屬性。例如android:inputType="textEmailAddress|number|phone"
等東西。
但是爲了檢查空虛,我不能建議任何東西,但if (editText.getText().length() > 0)
。
您可以使用帶有文本觀察器事件的代碼添加過濾器。當你在編輯文本上鍵入任何想法時,文本觀察器事件就會執行,那麼如果條件爲假,我們可以在編輯文本中檢查類型文本,那麼你應該顯示彈出窗口。我在列表視圖中顯示了一個使用編輯文本進行過濾的例子,在文本監視器事件的幫助下,您應該使用edittext進行過濾。
ed.addTextChangedListener(新TextWatcher(){
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
fillMaps.clear();
textlength = ed.getText().length();
for (int i = 0; i < countryName.length; i++) {
if (textlength <= countryName[i].length()) {
if (ed.getText()
.toString()
.equalsIgnoreCase(
(String) countryName[i].subSequence(0,
textlength))) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("flag", "" + imageId[i]);
map.put("country", countryName[i].toString());
map.put("capital", capitalName[i].toString());
map.put("countrytime",
convertDateTimeToGMT(
GMTplusMinusInMillisecond[i],
plusMinus[i]));
map.put("GMT", GMTplusMinus[i].toString());
fillMaps.add(map);
}
}
}
SimpleAdapter adapter = new SimpleAdapter(
WorldClockActivity.this, fillMaps, R.layout.grid_item,
from, to);
lv1.setAdapter(adapter);
// lv1.setAdapter(new
// ArrayAdapter<String>(WorldClockActivity.this,android.R.layout.simple_list_item_1
// , arr_sort));
}
});