Обнаружение новой строки в представлении текста Android - PullRequest
1 голос
/ 11 сентября 2011

Я пытаюсь создать свое первое приложение для Android, в котором оно поможет мне сделать некоторые наброски.

Проще говоря, я пытаюсь написать какое-то обнаружение, что когда строка начинается с дефиса, следующаякогда появляется новая строка, перед этой новой строкой будет помещен дефис.

Я ищу указатели или указания, куда мне следует обратиться, поскольку это мое первое приложение.

Или, в другом смысле, какой будет лучший способ обнаружить набираемый текст и изменить EditText на его основе.

Ответы [ 3 ]

1 голос
/ 11 сентября 2011

Вы можете использовать класс Android для просмотра текста, который можно прикрепить к событию.

EditText mPasswordLength = (EditText)findViewById(R.id.password_length);
mPasswordLength.addTextChangedListener(new TextWatcher() {
    public void afterTextChanged(Editable s){
    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after){
    }
    public void onTextChanged(CharSequence s, int start, int before, int count){
    }
});

Метод, который вы можете использовать для редактирования текста, - onTextChanged.Более подробное описание того, когда и почему происходят эти события, объясняется в этом сообщении. .Прочитайте ответ с максимальным количеством голосов.

1 голос
/ 25 февраля 2016

Поскольку OnKeyListener не работает для программной клавиатуры, я рекомендую использовать TextWatcher.

public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

    if( -1 != charSequence.toString().indexOf("\n") ){
        // Do your stuff
    }
}

Если вы хотите заменить эту последовательность какой-либо другой строкой, попробуйте следующее:

public void afterTextChanged(Editable editable) {

    int i = editable.toString().indexOf("\n");
    if ( i != -1 ) {
        editable.replace(i, i+1, "");
    }
}
0 голосов
/ 11 сентября 2011

Вы хотите OnKeyListener для EditText, затем в методе onKey(View v, int keyCode, KeyEvent event) слушателя посмотрите, является ли это event KeyEvent.ACTION_DOWN и keyCode для KeyEvent.KEYCODE_ENTER, если так, то добавьте '-' в конец текста редактирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...