Intereting Posts
Есть ли удобный способ создания Parcelable классов данных в Android с Kotlin? Как сделать представление заполнить пространство, доступное для него? Не удалось выполнить cmd + щелчок по методу Java в Eclipse в Mountain Lion Mediacodec против медиапланера и медиарекордера Есть ли способ рисовать заполненную область с помощью Canvas без использования Path? Получить растровое изображение из видимого увеличенного изображения Android Как правильно масштабировать игру на Android Как отобразить пункт меню со значком и текстом в AppCompatActivity Эквиваленты шифрования / дешифрования в конструкциях Java для C # Недостаточно места для показа рекламы! При работе в TabActivity Gnu Makefile для gdc Как выполнить код при запуске приложения Виджет запускает диалог по щелчку Как проверить, является ли действие последним в стеке действия для приложения? Ошибка компиляции после обновления от ACRA 4.5 до ACRA 4.6

Удалить курсор из editText

Возможный дубликат:
Отключить мигающий курсор EditText

У меня есть 2 поля editText в моей деятельности с некоторым текстом в нем:

EditText nameText=(EditText) findViewById(R.id.update_name_text); nameText.setText(Info.getName()); EditText phone=(EditText) findViewById(R.id.phone_number); phone.setText(Info.getPhoneNo()); 

Когда я запускаю приложение на своем устройстве и nameText поле nameText , появляется курсор и клавиатура. Однако, когда я скрываю клавиатуру, клавиатура уходит, но курсор остается. Как я могу сделать курсор невидимым.

Когда я nameText enter от nameText , курсор переходит в поле phone и клавиатура все еще видна. Это нормально. Но когда я скрываю клавиатуру или нажимаю enter из поля phone , клавиатура исчезает, но курсор остается.

Есть ли способ (кроме использования setOnEditorActionListener ), чтобы сделать курсор невидимым также в вышеуказанных ситуациях?

Для удаления курсора из edittext вам необходимо установить

 nameText.setFocusable(false); 

И видимый набор курсоров

 nameText.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { nameText.setFocusableInTouchMode(true); return false; } }); 

Покажет курсор в edittext …

android:cursorVisible в XML или setCursorVisible() в коде, чтобы скрыть / показать курсор, и вы можете использовать метод, объясненный здесь, чтобы определить, когда клавиатура появилась и исчезла.

В Xml-файле Вы можете увидеть, что <requestFocus> был добавлен автоматически для EditText.

Поэтому всякий раз, когда начинается действие, ваш EditText получает фокус.

Поэтому сначала удалите его и попробуйте …

Ответ UpDated:

Если вы не хотите редактировать поле nameText

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

 nameText.setEnabled(false); 

А также, если u хочет изменить его в каком-то случае,

Ты можешь сделать,

 nameText.setEnabled(true); 

Тем не менее вы можете обновить поле nameText программным путем,

Например, используя nameText.setText(Info.getname());

Если вы хотите, чтобы пользователь вносил изменения в видимый текст, вы можете сделать

 nameText.setEnabled(true); 

Он будет работать так, как вы ожидаете.