Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 617
#1

Ввод числа - Программирование Android

09.02.2016, 12:34. Просмотров 411. Ответов 11
Метки нет (Все метки)

Добрый день.

Задача у меня специфическая.
По клику на button надо показать цифровую клавиатуру с полем ввода.
По кнопке "Готово" (на клавиатуре) мне нужно обработать число и если оно не подходит высветить Toast, но при этом клавиатуру не закрывать.
Задача с одной стороны простая, но что то сегодня торможу, подскажите куда смотреть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2016, 12:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввод числа (Программирование Android):

Как сделать возможным ввод дробного числа - Программирование Android
Добрый вечер. Что-то никак не въеду, как сделать ввод дробного числа в EditText пользователем, получается только целое использую...

Чтобы ввод первого числа был в одной форме, ввод второго - в другой - Visual Basic
Private Sub Command1_Click() Text1.Text = "" 'î÷èùåíèå îêîí Text2.Text = "" Text3.Text = "0" End Sub Private Sub...

Ввод чисел через пробел до определеного числа,убрать оставшиеся числа - C++
Нужно ввести числа через проблем, набор заканчиваеться числом меньше или равно нулю. Пример: 1 2 3 -1 5 6 7 (занести нужно будет...

Программа пишет прописью числа, помогите доделать ввод числа с клавиатуры - C#
Программа пишет прописью числа, помогите доделать ввод числа с клавиатуры. using System; using System.Collections.Generic; using...

Ввод числа, решение его по формуле, вывод получившегося числа. - Delphi
Здравствуйте! Только недавно начал изучать Delphi. Не могу понять что за ошибку мне выдает. Помогите пожалуйста. Нужна программа где я...

Как осуществить ввод числа, не зная какой тип числа будет введён? - C++
И не объявляя вводимую переменную как double...

11
Pablito
2578 / 2060 / 642
Регистрация: 12.05.2014
Сообщений: 7,227
Завершенные тесты: 1
09.02.2016, 12:40 #2
надо свою рисовать или можно обойтсь EditText с inputType="number" ?
1
Ханасака
10 / 10 / 0
Регистрация: 12.07.2013
Сообщений: 147
09.02.2016, 12:41 #3
А если в onCreate() добавить
Java
1
2
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
inputManager.toggleSoftInput (InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
а закрывать потом программно?
1
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 617
09.02.2016, 13:02  [ТС] #4
Паблито, EditText как такового нет, есть button.
Ханасака, не понял как вызвать в onClick это?
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
09.02.2016, 13:08 #5
_Night_Scream_, и куда вводит пользователь?
Причём тут onClick?
1
Pablito
2578 / 2060 / 642
Регистрация: 12.05.2014
Сообщений: 7,227
Завершенные тесты: 1
09.02.2016, 13:21 #6
показываю принцип
допустим et - э то наш Edittext, а btn - это кнопка
я проверял во фрагменте, поэтому если делать это в активити то там надо убрать вызовы getContext() и getActivity()

код, где то в onCreateView фрагмента или onCreate() активити
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
        final EditText et = (EditText) view.findViewById(R.id.number);
        et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_DONE) {
                    if (Math.random() > 0.5)
                        Toast.makeText(getContext(), "Подходит", Toast.LENGTH_SHORT).show();
                    else Toast.makeText(getContext(), "Не подходит", Toast.LENGTH_SHORT).show();
                    et.setVisibility(View.GONE);
                    InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.toggleSoftInput(InputMethodManager.RESULT_HIDDEN, 0);
                }
                return false;
            }
        });
 
        view.findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                et.setVisibility(View.VISIBLE);
                et.requestFocus();
                InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
            }
        });
без всяких оптимизаций и рефакторинга, только показать принцип

и разметка
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="LOL"
        android:id="@+id/btn"/>
 
    <EditText
        android:visibility="gone"
        android:id="@+id/number"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:imeOptions="actionDone"
        android:inputType="number" />
1
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 617
09.02.2016, 13:23  [ТС] #7
CoolMind,
По клику на button надо показать цифровую клавиатуру с полем ввода.
По кнопке "Готово" (на клавиатуре) мне нужно обработать число и если оно не подходит высветить Toast, но при этом клавиатуру не закрывать.
Нет editText, только button.
А ввод значения в переменную int, которая в этом классе.
0
Pablito
09.02.2016, 13:25
  #8

Не по теме:

после последнего сообщения я начинаю думать что надо лепить свой велосипед, с кнопками типа как в терминалах
наверняка такие есть на гитхабе, поэтому я такое писать и тестить не стану )

0
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 617
09.02.2016, 13:27  [ТС] #9
Паблито, да в том то и дело, велосипед свой не хочу, пытаюсь найти что то умное.
В первый раз столкнулся с таким, поэтому тоже в ступоре.
0
Pablito
09.02.2016, 13:30
  #10

Не по теме:

боже
там писанины на 40 минут от силы - лаяут с кнопками цифр, кнопка сброса и кнопка ОК
+ текствью в которое будет добавляться по одному символу при нажатиях на нопки
+ слушатель на ОК который выводит тост и делает проверки

0
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 617
09.02.2016, 13:43  [ТС] #11
Паблито, не, это самый край, должно быть проще.
0
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 617
10.02.2016, 16:32  [ТС] #12
Еще вопрос о вводе числа.
Я использую PreferenceFragment для показа настроек.
В PreferenceFragment метод addPreferencesFromResource берет указанный layout.
В layout использую EditTextPreference.

В результате всего этого получаю экран со строками, после нажатия на строку появляется диалог с EditText для изменения числа. Всё стандартно.

Есть ли возможность сразу показывать EditText'ы списком с оглавлением на фрагменте, минуя dialog?
Хочу исключить диалог чтобы лишний раз не нажимать пальцем по строке, а сразу на ввод и появлялась клава.

Можно конечно набросать свой фрагмент со своими EditText, но тогда надо писать механизм записи настроек в файл, а в PreferenceFragment всё готово.
0
10.02.2016, 16:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2016, 16:32
Привет! Вот еще темы с ответами:

Организовать ввод числа, вывести таблицу умножения для этого числа и значение его факториала - C++ Builder
Организовать проект Умножения.В проекте организовать ввод числа.Вывести таблицу умножения дляэтого числа и значение его факториала. ...

Написать программу, которая на ввод числа N, выводит количество S всех различных представлений этого числа. - Алгоритмы
известно что любое натуральное число N(0&lt;N&lt;=1000) может быть представлено в виде суммы квадратов не более 4-ех положительных целых...

Пользователь вводит с клавиатуры целые числа. Чтобы закончить ввод – необходимо ввести 0. Вывести негативные числа. - C++
Пользователь вводит с клавиатуры целые числа. Чтобы закончить ввод – необходимо ввести 0. Вывести негативные числа. Неполучаетса вывод...

Ввод двузначного числа и вывод обратного числа - C++
Помогите пожалуйста сделать( Арифметика: Z=4 cosα2 ⋅cos52 α⋅cos 4α Текст: Составить программу, в которая запрашивает ввод...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru