2009-11-04 3 views
0

Я хочу, чтобы фокус одного текстового окна редактирования переместился на другой при редактировании (это означает, что вы можете вводить только букву, прежде чем она автоматически перейдет к следующему тексту редактирования).Android EditText box

Это «на редактирование», что я не могу опустить голову. Может ли кто-нибудь помочь мне с простым примером? Theres много, мне нужно его внедрить, поэтому простое базовое понимание должно установить шарик катания^_^

ответ

2

Я действительно не рекомендую это. С мягкими клавиатурами и несколькими языками, что такое «одна буква»? В конце концов, мягкая клавиатура может вводить целое слово, нравится оно или нет.

1

CommonsWare дает отличную оценку: вы не можете запретить пользователю добавлять больше символов в поле EditText, однако вы можете слушать, что изменилось и действовать по этому поводу. Вот как:

EditText editbox = (EditText) findViewById(R.id.MyEditBoxName); 

editbox.addTextChangedListener(new TextWatcher() 
{ 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) 
    { 

    } 

    public void onTextChanged(CharSequence s, int start, int before, int count) 
    { 

    } 

    public void afterTextChanged(Editable s) 
    { 
     // Test s for length, request focus for the next edit. 
     // editbox2.requestFocus(); 
    } 
}); 

Будьте осторожны, чтобы не получить себе в бесконечный цикл, изменяя EditBox, любые изменения будут вызывать эти методы можно назвать снова рекурсивно.

Смежные вопросы