2013年7月15日月曜日
Androidのオートコンプリートで制限
AndroidのAutoCompleteTextViewウィジェットを使うことで,検索候補とかEclipseの入力候補のようなオートコンプリート機能を実装することができます.
詳しくはTechBoosterさんのページなんかを参考にしてもらうとして,候補を追加していくと増えすぎてしまう問題の応急処置について.
AutoCompleteViewを使う際ListAdapterインターフェイスを継承したインスタンス(ArrayAdaperなど)を登録しますが,なぜかArrayAdapterのgetItemやgetCountが使えなかったので別途Listで候補一覧を管理し,一番古いのをremoveで削除します.
adapter = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_dropdown_item_1line);
autoCompleteList = new ArrayList<String>();
…中略…
if(num >= MAX_AUTO_COMPLETE){
String oldest = autoCompleteList.get(0);
adapter.remove(oldest);
autoCompleteList.remove(0);
}
adapter.add(name);
editText.setAdapter(adapter);
autoCompleteList.add(name);
もうちょっとカッコいい方法ありそう…
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿