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

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

Войти
Регистрация
Восстановить пароль
 
Flash_2oo9
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142
#1

Динамическая работа с EditText - Android

11.07.2014, 14:02. Просмотров 540. Ответов 0
Метки нет (Все метки)

Добрый день, ув. форумчани.
Решил написать интерпретатор для BrainFuck. Все бы ничего, но не могу во время выполнения программы вывести необходимые данные в editText или считать данные для него.
Вот на примере (это не сам интерпретатор, а пример который объясняет суть проблемы):

Допустим в enterText я ввел различные символы. Нажимаю на OK. Программа проверяет если символ не равен 'e', то выводит его в outText, если же равен, то ждет ввода нового символа в enterSymbol и нажатия клавиши Ok.

например, входные данные:"12e4", выходные: "12_новый_символ_4"

Вот код:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public class MainActivity extends ActionBarActivity {
 
    private EditText enterText;
    private EditText enterSymbol;
    private EditText outText;
    private Button btnOk;
    private Button btnEnterSymbolOk;
    private boolean flag = false;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        enterText = (EditText) findViewById(R.id.enterText);
        enterSymbol = (EditText) findViewById(R.id.enterSymbol);
        outText = (EditText) findViewById(R.id.outText);
        outText.setText("dsg");
        btnOk = (Button) findViewById(R.id.btnOk);
        btnEnterSymbolOk = (Button) findViewById(R.id.btnOk);
    }
 
    public void onClickBtnOk(View v){
        char[] inputData = enterText.getText().toString().toCharArray();
        readInputData(inputData);
    }
 
    public void onClickBtnEnterSymbolOk(View v){
        flag = true;
    }
 
    private void readInputData(char[] id){
        int index = 0;
        while(index<id.length){
            if(id[index] == 'e'){
                while(flag==false){
 
                }
                id[index] = enterSymbol.getText().toString().charAt(0);
            }
            else
            {
                String s = ""+id[index];
                outText.setText(s);
                index++;
                flag = false;
            }
        }
 
    }
}
Вся проверка, ввод и вывод осуществляются в readInputData(char[] id).

Проблема первая: outText.setText(s);
выводит текст, но не сразу, а ждет окончания цикла. А необходимо, чтобы цикл приостанавливался, выводился текст и дальше цикл продолжал работать.
Проблема вторая: так же само необходимо приостановить цикл считать символ и продолжить его.
Как мне это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2014, 14:02     Динамическая работа с EditText
Посмотрите здесь:

EditText в диалоге Android
Свойства EditTExt Android
Картинка и EditText Android
Android Очистка EditText
Android Касание в EditText
Выделение EditText Android
Фильтрация ListView из EditText Android
Пересчет строки EditText Android
Программно создать EditText Android
Android Смайлы и EditText
Валидация в EditText Android
Android Текст в EditText срезается

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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