Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84

Обработка нажатия EditText

14.03.2017, 16:29. Показов 5735. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо реализовать поля ввода дат для задания периода.
Так как надо по дизайну чтобы подсказка всплывала как в TextInputLayout, поэтому использую EditText.
Обработка нажатия EditText

Но при нажатии сначала появляется клавиатура а при втором нажатии выходит уже диалог выбора даты.
Обработка нажатия EditText

Обработка нажатия EditText

Не могу разобраться как это решить.
И поле FROM у меня сразу активно, хотелось бы до первого нажатия его не активировать. Подскажите?

XML Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<android.support.design.widget.TextInputLayout
            android:id="@+id/input_to"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginEnd="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp"
            android:layout_marginTop="4dp"
            android:orientation="horizontal"
            android:visibility="visible"
            app:layout_constraintLeft_toLeftOf="@+id/guideline2"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/choosePerson">
 
            <EditText
                android:id="@+id/to"
                style="@style/Widget.AppCompat.EditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:hint="@string/hint_to"
                android:inputType="date"
                tools:layout_editor_absoluteX="8dp"
                tools:layout_editor_absoluteY="0dp" />
        </android.support.design.widget.TextInputLayout>
Java Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//EditText для ввода дат
        from = (EditText) view.findViewById(R.id.from);
        to = (EditText) view.findViewById(R.id.to);
        from.setOnClickListener(chooseDateClick);
        to.setOnClickListener(chooseDateClick);
 
//обработка нажатия EditText для выбора даты
    public View.OnClickListener chooseDateClick = new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            Calendar calendar = Calendar.getInstance();
            final SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
            chooseDate = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {
                    Calendar newCalendar = Calendar.getInstance();
                    newCalendar.set(year, monthOfYear, dayOfMonth);
                    switch (view.getId()) {
                        case R.id.from:
                            Toast.makeText(getActivity(), "нажат фром", Toast.LENGTH_SHORT);
                            from.setText(dateFormat.format(newCalendar.getTime()));
                            break;
                        case R.id.to:
                            to.setText(dateFormat.format(newCalendar.getTime()));
                            break;
                    }
                }
            }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
            chooseDate.show();
        }
    };
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.03.2017, 16:29
Ответы с готовыми решениями:

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

Отлавливание нажатия на edittext
package com.calendar2.calendar2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import...

EditText обработчик нажатия на Enter
Всем привет! Не могу понять, почему не работает код: final EditText editText = (EditText)findViewById(R.id.editText); ...

5
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
14.03.2017, 16:34
Лучший ответ Сообщение было отмечено goodi_tomsk как решение

Решение

Java Скопировано
1
2
3
4
5
6
7
8
fieldDate.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    showDateDialog();
                }
            }
        });
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
14.03.2017, 16:36  [ТС]
а как обработать 2 таких поля?
0
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
14.03.2017, 16:40
goodi_tomsk, просто сделайте по аналогии. не setOnClickListener, а setOnFocusChangeListener
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
14.03.2017, 17:03  [ТС]
ок, пасип. попробую!

Добавлено через 21 минуту
а как сделать чтобы при переходе на вкладку ни одно из EditText не находилось в фокусе?
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
16.03.2017, 08:23  [ТС]
мой вопрос: как сделать чтобы при переходе на вкладку ни одно из EditText не находилось в фокусе?
мой ответ: android:focusableInTouchMode="true" для лэйаута
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2017, 08:23
Помогаю со студенческими работами здесь

Отключить перескакивание между edittext после нажатия "готово"
После нажатия на кнопку готово происходит заполнение второго edittext, третьего и.т.д. А нужно чтобы пользователь сам нажимал на нужные для...

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

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

Какой метод в EditText для автоматического события при вводе первого символа текста в EditText ?
Здравствуйте Какой метод в EditText для автоматического события при вводе первого символа текста в EditText ? - например ввожу текст в...

Обработка нажатия кнопок
Здравствуйте! Недавно начал изучать программирование под Android. Узнал что для обработки нажатия кнопок используется как минимум 2...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер