Android - обрабатывать «Enter» в EditText

Теперь как метод расширения:

public static class LinqExt
{
    public static IEnumerable<TResult> LeftOuterJoin<TLeft, TRight, TKey, TResult>(this IEnumerable<TLeft> left, IEnumerable<TRight> right, Func<TLeft, TKey> leftKey, Func<TRight, TKey> rightKey,
        Func<TLeft, TRight, TResult> result)
    {
        return left.GroupJoin(right, leftKey, rightKey, (l, r) => new { l, r })
             .SelectMany(
                 o => o.r.DefaultIfEmpty(),
                 (l, r) => new { lft= l.l, rght = r })
             .Select(o => result.Invoke(o.lft, o.rght));
    }
}

Используйте, как обычно, вы используете join:

var contents = list.LeftOuterJoin(list2, 
             l => l.country, 
             r => r.name,
            (l, r) => new { count = l.Count(), l.country, l.reason, r.people })

Надеемся, что это сэкономит вам некоторое время.

431
задан MiguelHincapieC 17 September 2015 в 16:31
поделиться

2 ответа

Интересно, есть ли способ обработать пользователя, нажав , введите , пока вводя EditText, что-то вроде событие HTML onSubmit.

Да.

Также интересно, есть ли способ управлять виртуальной клавиатурой в таким образом, чтобы кнопка "Готово" была обозначил что-то другое (например, «Вперед») и выполняет определенное действие при нажатии (опять же, как onSubmit).

Также да.

Вы захотите посмотреть на атрибуты android: imeActionId и android: imeOptions , а также на ] setOnEditorActionListener () , все в TextView .

Для изменения текста кнопки «Готово» на настраиваемую строку используйте:

mEditText.setImeActionLabel("Custom text", KeyEvent.KEYCODE_ENTER);
361
ответ дан 22 November 2019 в 23:15
поделиться

Kotlin

editTextVar?.setOnKeyListener { v, keyCode, event ->
            if((event.action == KeyEvent.ACTION_DOWN)
                && (event.keyCode == KeyEvent.KEYCODE_ENTER)){
                //Do something, such as loadJob()
                loadJob()
                return@setOnKeyListener true
            }

            false
        }
0
ответ дан 22 November 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: