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

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

Войти
Регистрация
Восстановить пароль
 
JanCover
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 48
#1

Закрывается приложение после ввода сообщения в EditText - Программирование Android

07.10.2016, 22:37. Просмотров 229. Ответов 7
Метки нет (Все метки)

Написал программу, в которой при вводе в EditText значения 0 или 1 в TextView должно вывести определённое сообщение, но после ввода 0 или 1 и нажатии на кнопку приложение закрывается =/

Вот код приложения
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
32
33
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    public void Send(View view) {
        EditText editText = (EditText)findViewById(R.id.textViewInfo);
        String d = editText.getText().toString();
        String status = "dor_close";
        String dor = null;
        while (true){
            dor = d;
            if ("dor_close".equals(status) && "1".equals(dor)) {
                status = "dor_open";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            } else if ("dor_open".equals(status) && "0".equals(dor)) {
                status = "dor_close";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            }
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2016, 22:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Закрывается приложение после ввода сообщения в EditText (Программирование Android):

Фильтр ввода в EditText - Программирование Android
Подскажите пожалуйста, как программно ограничить набор символов, которые можно ввести в конкретный EditText? Нужно вводить только "0" и...

Маска ввода для EditText - Программирование Android
Здравствуйте. А можно как то задать маску ввода для текстового поля? Ну например, вводим сумму денег в EditText и формат должен быть типа...

EditText для ввода даты - Программирование Android
Нужно сделать edittext для даты. Я разместил рядом 3 шт. , для дня, месяца, и года соответственно. В каждом максимальное число вводимых...

EditText теряет возможность ввода текста - Программирование Android
столкнулся со странной проблемой, есть активность на ней EditText. Я ввожу смиволвы любые (или могу оставить поле пустым, то-есть ввод...

Фильтрация ввода у динамически созданных edittext - Программирование Android
Здравствуйте, форумчане!Хотелось бы разобраться,почему после того как я создаю динамически edittext и назначаю ему фильтр ввода,который...

Числовой InputType для EditText с возможностью ввода минуса - Программирование Android
<EditText <!-- cut --> android:ems="10" android:inputType="numberDecimal" > ...

7
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
07.10.2016, 22:49 #2
Java
1
2
 EditText editText = (EditText)findViewById(R.id.textViewInfo);
 TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
точно оба R.id.textViewInfo ????
0
JanCover
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 48
07.10.2016, 23:06  [ТС] #3
да, понял, ошибочка, щас исправлю =)
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
07.10.2016, 23:07 #4
ушла проблема?
0
JanCover
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 48
07.10.2016, 23:18  [ТС] #5
Я переделал прогу и теперь вводится число и выводит на экран сообщение дор_опен, но когда ввожу 0, то ничего не происходит =/

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void Send(View view) {
        EditText editText = (EditText)findViewById(R.id.editTextInfo);
        String d = editText.getText().toString();
        String status = "dor_close";
            String dor = d;
            if ("dor_close".equals(status) && "1".equals(dor)) {
                status = "dor_open";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            } else if ("dor_open".equals(status) && "0".equals(dor)) {
                status = "dor_close";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            }
    }
Добавлено через 8 минут
Star2016, Ну что, поможешь решить проблему с этой хернёй до конца ? =/
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
07.10.2016, 23:24 #6
else if а если просто if
else вроде лишнее просто две отдельные конструкции if

Добавлено через 44 секунды
Java
1
2
3
4
5
6
7
8
9
10
 if ("dor_close".equals(status) && "1".equals(dor)) {
                status = "dor_open";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            } 
             if ("dor_open".equals(status) && "0".equals(dor)) {
                status = "dor_close";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            }
Добавлено через 1 минуту
dor.trim() на всякий случай
0
JanCover
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 48
07.10.2016, 23:30  [ТС] #7
Спасибо, за помощь, я сам разобрался в чём проблема =)
Если интересно, то я в методе считывания переменной прописал статусу дор_клоуз и привведении нового числа, он по новой ставил значение дор_клоуз и считывал после переменную
Я просто вывел переменную статус вверх как публичную и всё =)
Java
1
public String status = "dor_close";
и в итоге метод выглядит так =)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public void Send(View view) {
        EditText editText = (EditText)findViewById(R.id.editTextInfo);
        String d = editText.getText().toString();
        String dor = d;
            if ("dor_close".equals(status) && "1".equals(dor)) {
                status = "dor_open";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            }
            if ("dor_open".equals(status) && "0".equals(dor)) {
                status = "dor_close";
                TextView infoTextView = (TextView)findViewById(R.id.textViewInfo);
                infoTextView.setText(status);
            }
    }
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
07.10.2016, 23:34 #8
String status = "dor_close";
public - думаю лишнее
String status = "dor_close"; - так достаточно
0
07.10.2016, 23:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2016, 23:34
Привет! Вот еще темы с ответами:

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

Приложение выдает ошибку и закрывается на android 4.2.2 и 4.4 - Программирование Android
Всем привет, столкнулся с проблемой что мое приложение не запускается на android 4.2.2 и 4.4, у меня приложение построено на шаблоне...

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

При нажатии на кнопку приложение закрывается - Программирование Android
Здравствуйте. Возникла проблема и вот не знаю как решить. Запускал приложение на эмуляторе, все нормально работало. Теперь установил на...


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

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

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