반응형

키보드에 대문자만 나오게 하고싶어서

아래 코드를 작성을해서 EditText Filter를 수정하였는데  특정 기기에서는 그렇게 되질 않네.

InputFilter.AllCaps()

아래와같이 Text를 관찰해야 해야 기기 문제 발생하지 않고 깔끔하게 되더라. 

((EditText) findViewById(R.id.edit_id)).addTextChangedListener(new 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) {

        if (s.toString().equals(s.toString().toUpperCase())) return;

        ((EditText) findViewById(R.id.edit_id))
                .setText(s.toString().toUpperCase());

        ((EditText) findViewById(R.id.edit_id))
                .setSelection(((EditText) findViewById(R.id.edit_id)).length());
    }
});

 

 

반응형

+ Recent posts