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

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

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

Некорректно работает поток в Activity - Программирование Android

15.09.2013, 13:28. Просмотров 318. Ответов 1
Метки нет (Все метки)

Что неправильно в данном коде? Когда я начинаю вводить текст в EditText, приложение зависает. Думаю Вам понятно, что делает данный код, Если EditText постой, кнопка неактивна, и наоборот.
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
protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.x3);
        View b = findViewById(R.id.x3B);
        b.setOnClickListener(this);
        Thread t = new Thread(new Runnable()
        {
              public void run()
              {
                  EditText ed11 = (EditText) findViewById(R.id.ed11);
                  Button but = (Button) findViewById(R.id.x3sarrusB);
                  
                  while(true)
                  {
                      if(ed11.length() == 0)
                          but.setEnabled(false);
                      else
                          but.setEnabled(true);
                  }
              }
            });
            t.start();
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2013, 13:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Некорректно работает поток в Activity (Программирование Android):

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity - Программирование Android
У меня в параллельном потоке происходит куча apply() Решение использовать apply вместо commit было принято из-за скорости. Но...

Изменение layout-элементов одного activity из другого activity - Программирование Android
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном activity из второго activity, каким образом мне можно это...

Android - Передача данных с одного Activity на другое Activity - Программирование Android
Здравствуйте , возникла необходимость получения числовых (int и float ну или double) данных в одном Activity , а обработка и вывод...

Из одной Activity запустить функцию другой Activity - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
15.09.2013, 15:06 #2
Не надо так писать код.
Есть такой паттерн программирования Observer (Слушатель).
С учетом его применения и возможностей android sdk, можно сделать следующим образом:
Пишем метод проверки наличия текста:
Java
1
2
3
private boolean checkEditText(EditText edit) {
    return edit.getText().length() == 0;
}
Далее пишем метод обновления кнопки:
Java
1
2
3
4
5
6
void updateButtonState() {
    if (checkEditText(edit1) && checkEditText(edit2)) {
        button.setEnabled(false);
    } else { 
        button.setEnabled(true);
    }
Далее Оверрайдим следующие методы для EditText и пишем в них необходимую логику.
Java
1
2
3
beforeTextChanged(CharSequence s, int start, int count, int after)
onTextChanged(CharSequence s, int start, int before, int count)
afterTextChanged(Editable s)
Если нужно расписать логику для этих методов - обращайся.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 15:06
Привет! Вот еще темы с ответами:

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

Как вызвать Activity не из Activity? - Программирование Android
Приложение перехватываем входящие СМС. Есть класс унаследованный от BroadcastReceiver, который обозначен в манифесте как приемник...

Создание Activity в другом Activity - Программирование Android
Нормально ли создавать экземпляр какого-либо Activity в текущем Activity? Дело в том, что код, нужный для работы с данными находится в...

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


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

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

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