Редактировать прослушиватель текстовых клавиш
У меня есть edittext
и кнопка в моем макете, и в моем коде я устанавливаю keyListener
для edittext
как null
editText.setKeyListener(null);
чтобы я не мог ввести текст edittext
. Теперь на моей кнопке нажмите, чтобы я мог ввести в свой ediitext
. Как мне это сделать. Это простая проблема, но я не могу найти решение. Любая помощь будет высоко оценена.
Ответы
Ответ 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>