Подтвердить что ты не робот

Редактировать прослушиватель текстовых клавиш

У меня есть edittext и кнопка в моем макете, и в моем коде я устанавливаю keyListener для edittext как null

    editText.setKeyListener(null);

чтобы я не мог ввести текст edittext. Теперь на моей кнопке нажмите, чтобы я мог ввести в свой ediitext. Как мне это сделать. Это простая проблема, но я не могу найти решение. Любая помощь будет высоко оценена.

4b9b3361

Ответ 1

Вероятно, я опаздываю, но так я это делаю:

public class MyActivity extends Activity
{
    private KeyListener listener;
    private EditText editText;

    public void onCreate(...)
    {
        editText = ... // Get EditText from somewhere
        listener = editText.getKeyListener(); // Save the default KeyListener!!!
        editText.setKeyListener(null); // Disable input
    }

    // When you click your button, restore the default KeyListener
    public void buttonClickHandler(...)
    {
        editText.setKeyListener(listener);
    }
}

В основном вы сначала сохраните EditText по умолчанию KeyListener, прежде чем вы вызовете setKeyListener(null). Затем, когда вы нажимаете кнопку, вы вызываете setKeyListener снова, передавая ранее прослушиватель по умолчанию.

Ответ 2

Вы можете использовать это:

// When you click your button, restore the default KeyListener
public void buttonClickHandler(...)
{
    editText.setKeyListener(new EditText(getApplicationContext()).getKeyListener());
}

Ответ 3

его ошибка в android См. здесь Ошибки.

Но в xml файле вы можете это сделать. Используя android:editable="false"

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:editable="false" <<<<<<<
</EditText>