在Android中AutoCompleteTextView只能說明顯示下拉當我們進入第一個字母正確。什麼我想要的是,當我可以在字符串中輸入任何字母序列應該表現出下降down.for例如「一月」是我的數組所以當我在AutoComplete字段中輸入「anu」時,它應該在下拉菜單中顯示「1月」。請幫助。 謝謝AutoCompleteTextView android系統
回答
您可能會寫自己的Filter
並通過TextWatcher
附加它。這種反應在一個AutoCompleteTextView
的正則表達式的例子:Android AutoCompleteTextView with Regular Expression?,這裏是另一個正則表達式/ Java示例:How can I perform a partial match with java.util.regex.*?
編輯:您將需要爲了延長ArrayAdapter覆蓋用getFilter(),並返回您的自定義過濾器。
那麼你將有這樣的事情:
autoCompleteTextView.setAdapter(arrayAdapter);
autoCompleteTextView.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
arrayAdapter.getFilter().filter(s);
}
});
public class RegexFilter extends Filter{
ArrayAdapter<String> mAdapter;
public RegexFilter(ArrayAdapter<String> adapter) {
mAdapter = adapter;
}
...
@Override
protected FilterResults performFiltering(CharSequence constraint) {
Pattern p = Pattern.compile(constraint);
Matcher m = p.matcher("");
List listOfMatches = new ArrayList<String>();
for (String curMonth : months) {
m.reset(curMonth);
if (m.matches || m.hitEnd()) {
listOfMatches.add(curMonth);
}
}
FilterResults results = new FilterResults();
results.values = listOfMatches;
results.count = listOfMatches.size();
return results;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
mAdapter.addAll(results.values);
mAdapter.notifyDataSetChanged();
}
}
public class PartialArrayAdapter extends ArrayAdapter<String> {
...
RegexFilter mFilter;
@Override
public TimedSuggestionFilter getFilter() {
if(null == mFilter)
mFilter = new RegexFilter(this);
return mFilter;
}
很抱歉,但我不能夠找到使用setfilter(),並用getFilter()在AutoCompleteTextView Class.my Android的API級別的功能是8 – pyus13 2012-03-10 22:31:02
@ pyus13編輯的我的代碼。對不起,getFilter()函數在ArrayAdapter中。我建議做一個ArrayAdapter示例(可能是這樣的:http://sudarmuthu.com/blog/using-arrayadapter-and-listview-in-android-applications)。適配器是Android的重要組成部分... – 2012-03-11 02:59:45
- 1. Android AutoCompleteTextView
- 2. 優化AutoCompleteTextView爲Android聯繫人
- 3. 在android系統
- 4. android系統
- 5. 在android系統
- 6. android系統
- 7. android系統
- 8. android系統
- 9. android系統
- 10. NoSuchMethodException android系統
- 11. android系統
- 12. android系統
- 13. 讓android系統
- 14. 在android系統
- 15. NullPointException android系統
- 16. 在android系統
- 17. android系統
- 18. android系統
- 19. android系統
- 20. android系統
- 21. 在android系統
- 22. android系統
- 23. android系統
- 24. android系統
- 25. android系統
- 26. android系統
- 27. 在android系統
- 28. 在android系統
- 29. 在android系統
- 30. 在android系統
我做類似的東西在這裏! http://stackoverflow.com/questions/12854336/autocompletetextview-backed-by-cursorloader – toobsco42 2012-10-29 20:05:46