EditTextの変更イベントを取得する【Android】

定義方法

        EditText editText = (EditText) findViewById(R.id.editText);
        editText.addTextChangedListener(new EditEventListener());

イベントリスナー

    private class EditEventListener implements TextWatcher {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }
        @Override
        public void afterTextChanged(Editable s) {
            String word = s.toString();
            list_disp.clear();
            for (CodeData item : list) {
                if (item.name.indexOf(word) != -1) {
                    list_disp.add(item.code + " " + item.name);
                    continue;
                }
                if (item.code.startsWith(word)) {
                    list_disp.add(item.code + " " + item.name);
                    continue;
                }
            }
        }
    }

割と簡単にイベントを検出できました。

システム開発

Posted by @erestage