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

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

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

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

11.07.2014, 14:02. Просмотров 584. Ответов 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);
выводит текст, но не сразу, а ждет окончания цикла. А необходимо, чтобы цикл приостанавливался, выводился текст и дальше цикл продолжал работать.
Проблема вторая: так же само необходимо приостановить цикл считать символ и продолжить его.
Как мне это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2014, 14:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическая работа с EditText (Программирование Android):

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

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText - Программирование Android
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

EditText - Программирование Android
Не работает пример взятый из книги myEditText.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int...

EditText - Программирование Android
В ListView каждый пункт состоит из нескольких EditText, при нажатий на EditText в пункте например 4, фокус ставится в пункт 1 ListView(а),...

Edittext - Программирование Android
Как проверить находится ли edittext в фокусе?

Кастомный EditText - Программирование Android
Подскажите, каким образом можно реализовать EditText как на скрине, при этом редактирование происходить только правой части знаю что...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2014, 14:02
Привет! Вот еще темы с ответами:

EditText и TextView - Программирование Android
Добрый день. Хочу написать приложение ТСР клиент. Возникла сложность с вводом IPшника в EditText и последующем его выводом в TextView...

Очистка EditText - Программирование Android
Есть несколько edittext. После внесения в первый числа фокус переходит на следующий. В конце после нажатия кнопки нужно очистить все...

Валидация в EditText - Программирование Android
Как ограничить ввод в EditText, чтобы можно было вводить только следующее - Иванов В.П, Сидоров М.С. и так далее(ну вводить в EditText...

Кастомный EditText - Программирование Android
Как можно внутри EditText установить маску для текста звездочку - * сделать отступы внутри EditText между звездочками например 5dp?


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

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

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