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

Сделать возможной корректную обработку 2 ситуаций - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Рассылка сообщений группе устройств http://www.cyberforum.ru/android-dev/thread1621953.html
Добрый день! Необходимо посылать сообщение из сервера группе устройств. Пишу в Android Studio. Думал использовать Cloud to Device Messaging (C2DM), но нигде не нашел исчерпывающей информации. Подскажите, пожалуйста, как лучше это сделать.
Android NFC-метка вызывает системный сервис Приветствую, может кто сталкивался с проблемой с NFC-метками (для чтения используется NfcAdapter, с метки читается NDEF): - если чистую метку я записываю своей информацией, то в моем приложении она нормально читается - если беру готовую метку, партию которых привез из Китая, то мое запущенное приложение перебивается вызовом системной службы/сервиса с информацией, что прочтена такая-то метка ... http://www.cyberforum.ru/android-dev/thread1621910.html
Android WebView и gif анимация
Делаю приложение где html c гифками (качаются с инета) выводятся на WebView. Все работает до тех пор пока не появится тяжелая гифка, размером 10-20 мб. Приложение перезапускается с ошибкой "Channel is unrecoverably broken and will be disposed!". На ум приходит несколько вариантов: 1. Уменьшать гифку при скачивании. Есть ли такие инструменты? Страдает качество - минус. 2. Прописать в манифесте...
Android Preferences
Как проверить были ли хотя бы раз хранены данные с помощью Preferences
Android Как создать диалоговые окна и всплывающие подсказки http://www.cyberforum.ru/android-dev/thread1621694.html
как организовать: 1. многоэкранные приложения 2. диалоговые окна и всплывающие подсказки 3. приложения со слайдингом 4. распознавание всех поддерживаемых жестов 5. распознавание только части поддерживаемых жестов ???
Android Как сохранить состояние выделенных checkbox и list data в Listactivity? Здравствуйте. Было задание сделать ListView c CheckBox, при нажатии на кнопку Add добавляется случайное число в ListActivity. Если выделить любые чекбоксы, всё должно удаляться. Я это сделал, всё рвботает, но при повороте эмулятора случайные числа пропадают(вместе с чекбоксами) и нужно по новой добвлять числа. Т.е. понятно, что прогрмма прошла через onDestroy и onCreate. Подскажите, пожалуйста,... подробнее

Показать сообщение отдельно
mishula
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 81
22.12.2015, 13:37     Сделать возможной корректную обработку 2 ситуаций
Добрый день возникла проблема в обработке двух разных ситуаций при создании калькулятора с унарными и бинарными операциями.
В первой ситуации пользователь вводит что-то в поле ввода 1, затем вводит что-то в поле ввода 2, и затем жмет на любую кнопку из первого ряда, после которых происходит какое-то действие, использующее то, что ввел человек в оба поля.
Во второй ситуации пользователь вводит что-то в первое поле и затем сразу жмет какую-то кнопку из второго ряда, после которых происходит какое-то действие, использующее только то, что ввел пользователь в первое поле.
Код и скриншот интерфейса прилагаю.
Проблема в том, что сейчас для того, чтобы могли могли корректно происходить все унарные операции, требуется все равно что-то вводить во второе поле ввода. Вот как сделать так, чтобы после ввода в первое поле человек мог сразу нажать кнопку с унарной операцией? По возможности приложите пожалуйста сразу доработанный код.
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    final int MENU_RESET_ID = 1;
    final int MENU_QUIT_ID = 2;
 
    EditText etNum1;
    EditText etNum2;
 
    Button btnAdd;
    Button btnSub;
    Button btnMult;
    Button btnDiv;
    Button btnPow;
    Button btnFact;
    Button btnSqr;
    Button btnSqrt;
 
    TextView tvResult;
 
    String oper = "";
 
    /** Called when the activity is first created. */
 
    //@Override
    public int myFact(int num1) {
        if (num1 == 1)
            return 1;
        else return num1*myFact(--num1);
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        etNum1 = (EditText) findViewById(R.id.etNum1);
        etNum2 = (EditText) findViewById(R.id.etNum2);
 
        btnAdd = (Button) findViewById(R.id.btnAdd);
        btnSub = (Button) findViewById(R.id.btnSub);
        btnMult = (Button) findViewById(R.id.btnMult);
        btnDiv = (Button) findViewById(R.id.btnDiv);
 
        btnPow = (Button) findViewById(R.id.btnPow);
        btnFact = (Button) findViewById(R.id.btnFact);
        btnSqr = (Button) findViewById(R.id.btnSqr);
        btnSqrt = (Button) findViewById(R.id.btnSqrt);
 
        tvResult = (TextView) findViewById(R.id.tvResult);
 
        btnAdd.setOnClickListener(this);
        btnSub.setOnClickListener(this);
        btnMult.setOnClickListener(this);
        btnDiv.setOnClickListener(this);
 
        btnPow.setOnClickListener(this);
        btnFact.setOnClickListener(this);
        btnSqr.setOnClickListener(this);
        btnSqrt.setOnClickListener(this);
 
    }
 
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        float num1 = 0;
        float num2 = 0;
        float result = 0;
 
        if (TextUtils.isEmpty(etNum1.getText().toString())
                || TextUtils.isEmpty(etNum2.getText().toString())) {
            return;
        }
 
        num1 = Float.parseFloat(etNum1.getText().toString());
        num2 = Float.parseFloat(etNum2.getText().toString());
 
        switch (v.getId()) {
            case R.id.btnAdd:
                oper = "+";
                result = num1 + num2;
                break;
            case R.id.btnSub:
                oper = "-";
                result = num1 - num2;
                break;
            case R.id.btnMult:
                oper = "*";
                result = num1 * num2;
                break;
            case R.id.btnDiv:
                oper = "/";
                result = num1 / num2;
                break;
            case R.id.btnPow:
                oper = "^";
                result = (float)Math.pow(num1, num2);
                break;
            case R.id.btnFact:
                oper = "!";
                result = myFact((int)num1);
                break;
            case R.id.btnSqr:
                oper = "^2";
                result = (float)Math.pow(num1,2);
                break;
            case R.id.btnSqrt:
                oper = "^(1/2)";
                result = (float)Math.pow(num1,0.5);
                break;
            default:
                break;
        }
 
        tvResult.setText(num1 + " " + oper + " " + num2 + " = " + result);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
        menu.add(0, MENU_RESET_ID, 0, "Reset");
        menu.add(0, MENU_QUIT_ID, 0, "Quit");
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
        switch (item.getItemId()) {
            case MENU_RESET_ID:
                etNum1.setText("");
                etNum2.setText("");
                tvResult.setText("");
                break;
            case MENU_QUIT_ID:
                finish();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
Миниатюры
Сделать возможной корректную обработку 2 ситуаций  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru