Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 22.08.2012
Сообщений: 18
1

EditText в Preference

07.08.2014, 08:14. Показов 1125. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь сделать в Preference строку редактирования не через диалог, а непосредственно.
Создал наследника от Preference и добавил в него EditText.
На вид, то что мне нужно, но когда топаешь по EditText, то после появления клавиатуры, EditText теряет фокус.
EditText в Preference

Понял, что элементы Preference показываются через ListView.
В Гугле много ссылок на темы типа "EditText in Listview loses focus".
Но мне так и не удалось подружить EditText с ListView.
Создал небольшой проект:
SuperEditTextPreference.zip
Вот, наиболее интересные, на мой взгляд, закономерности мне удалось обнаружить:
1. SOFT_INPUT_ADJUST_PAN в MainActivity.OnCreate
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
На 1-м EditText все нормально, фокус не пропадает
На 2-м EditText (для которого нужно скрол сделать), фокус моргает, затем все нормально скролируется, а когда начинаешь печатать, клава закрывает EditText, точнее EditText подныривает под клаву.
2. FOCUS_AFTER_DESCENDANTS в MainActivity.LocalFragment.onActivityCreated
ListView listView = (ListView) getView().findViewById(android.R.id.list);
listView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
После нажатия на 2-м EditText, все нормально скролируется, но фокусируется 1-й EditText.
На мой взгляд, 2-я закономерность, более близка к идеалу, но фокус со 2-го EditText прыгает на 1-й.

Ну и вопрос: как подружить ListView с EditText?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2014, 08:14
Ответы с готовыми решениями:

Ввод в один EditText и авто-вычисление в двух других EditText
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

Динамическое создание edittext и обработка данных из edittext
Здравствуйте, мне нужна помощь, у меня есть таблица, где динамически создаются edittext: for (int ...

Preference
public class Preference extends PreferenceFragment { public void onCreate(Bundle...

0
07.08.2014, 08:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2014, 08:14
Помогаю со студенческими работами здесь

Preference headers legacy
Здравствуйте! Пожалуйста, объясните, что я не так делаю? Три часа уже сижу над этими настройками,...

Назад к Activity из Preference
getFragmentManager().beginTransaction() .replace(android.R.id.content, new...

Не могу добратьс из фрагмента к Preference
Хочу заполнить из фрагмента данные из Preference. Ругается в строке 39. Подчеркивает -...

Как обновить textview в фрагменте после обновления preference
Вечер добрый. В общем потратил весь день что бы разобраться с этим вопросом, но все безуспешно....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru