Вставить в несколько edittext

У меня есть набор из четырех представлений EditText, которые используются для ввода 4-значного кода. Каждому из них присвоено значение maxLength, равное 1, потому что они содержат одну из этих цифр.

Теперь я хочу разрешить моим пользователям копировать четырехзначный код и вставлять его прямо в 4 поля.

Я попытался обнаружить событие вставки, используя:

@Override
    public boolean onTextContextMenuItem(int id) {
        boolean consumed = super.onTextContextMenuItem(id);
        switch (id){
            case android.R.id.cut:
                onTextCut();
                break;
            case android.R.id.paste:
                onTextPaste();
                break;
            case android.R.id.copy:
                onTextCopy();
        }
        return consumed;
    }

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

Я также пробовал:

переопределить удовольствие beforeTextChanged (s: CharSequence ?, начало: Int, count: Int, after: Int) { }

override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}

Но из вставляемого текста я получаю только 1 символ, я думаю, потому что для maxLength установлено значение 1.

Как мне добиться желаемого поведения?

1
0
351
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Может это поможет тебе

 private void pasteText() {
        ClipboardManager clipboardManager = (ClipboardManager)
                getSystemService(Context.CLIPBOARD_SERVICE);

        if (clipboardManager.hasPrimaryClip()) {
            ClipData.Item item = clipboardManager.getPrimaryClip().getItemAt(0);

            CharSequence ptext = item.getText();
            for(int i = 0 ; i <= ptext.length() ; i++){
    // 4 cases and paste to 4 edittexts
    }
        }
    }

Привет, @keser, не могли бы вы объяснить поподробнее?

Abbas Jafari 14.02.2021 19:12

@abbasjafary, это действительно старый вопрос, и я давно не разрабатывал Android. Но я постараюсь помочь. В чем твоя проблема?

keser 15.02.2021 07:31

Спасибо за ваш ответ, у меня есть шесть редактируемых текстов для ввода шестизначного кода, и я хочу, чтобы когда пользователь копировал и прошёл шестизначный код, шесть редактировали текст автоматически, заполняя их. Я надеюсь ты понимаешь о чем я

Abbas Jafari 15.02.2021 08:18

Другие вопросы по теме