Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
The_Prodigy
0 / 0 / 0
Регистрация: 24.07.2012
Сообщений: 4
1

Некорректно работает поток в Activity

15.09.2013, 13:28. Просмотров 351. Ответов 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 приложение некорректно завершает работу
package com.example.tictactoe; import android.app.Activity; import android.os.Bundle; import...

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

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

Как из одного Activity перенести фотку в другое Activity?
Собственно необходимо отобразить фотографию в activity2, которую загрузили в activity1 из галереи ...

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

1
haribo
41 / 41 / 0
Регистрация: 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

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

Как добавить cardview в activity с другой activity?
У меня есть активность(1), куда нужно добавить cardview. в этой же активности есть кнопка(1), при...

Из одной Activity запустить функцию другой Activity
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time...


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

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

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