я изменил свое мнение об использовании swipemotions: Как это довольно сложно использовать swipemotions, я решил просто использовать простые кнопки с «больше» и «меньше»Использование ArrayList для нескольких, если условия
Я в настоящее время работает над школьным проектом в Android Studio, и до сих пор я написал код, который генерирует случайное уравнение. Вот код, который gereates случайного уравнения:
String[] operationSet = new String[]{"+", "-", "/", "*"};
String stringResultOfEquation;
String equation;
double doubleAnswer1;
public void start1() {
Random random = new Random();
int numOfOperations = random.nextInt(2) + 1;
List<String> operations = new ArrayList<>();
for (int i = 0; i < numOfOperations; i++) {
String operation = operationSet[random.nextInt(4)];
operations.add(operation);
}
int numOfNumbers = numOfOperations + 1;
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < numOfNumbers; i++) {
int number = random.nextInt(10)+1;
numbers.add(number);
}
String equation = "";
for (int i = 0; i < numOfOperations; i++) {
equation += numbers.get(i);
equation += operations.get(i);
}
equation += numbers.get(numbers.size() -1);
TextView TextEquation = (TextView)findViewById(R.id.textView3);
TextEquation.setText(equation);
String stringResultOfEquation = String.valueOf(equation);
double doubleAnswer1 = eval(stringResultOfEquation);
String stringAnswer = Double.toString(doubleAnswer1);
TextView textAnswer = (TextView)findViewById(R.id.textView4);
textAnswer.setText(stringAnswer);
}
Теперь приложение отображает два уравнения на экране, а затем пользователь должен dicide кастрированного барана второго уравнение имеет больший или меньший результат, чем первый. Если второе уравнение больше, пользователь должен сделать swipemotion UP и, если второе уравнение меньше, пользователь должен сделать swipemotion DOWN. Однако я не знаю, как написать код для этого. Я пробовал:
if((doubleAnswer1 > doubleAnswer2) && (MotionEvent.ACTION_DOWN = true)){
//create new equation
}
но это не сработало. Он сказал мне, что «Оператор & & не может быть применен к булева, ИНТ»
Теперь я интересно, если я мог бы использовать ArrayList как это:
if(doubleAnswer1 > doubleAnswer2){
// put "smaller" to arraylist
} else {
// put "bigger" to arraylist
}
if(MotionEvent.ACTION_DOWN = true){
// put "smaller" to arraylist
}
if(MotionEvent.ACTION_UP = true){
// put "bigger" to arraylist
}
Тогда код будет проверить ArrayList если элементы аррайиста одинаковы. Если это так, будет создано следующее уравнение. Если элементы arraylist отличаются, процесс будет остановлен. Я действительно не знаю, будет ли это работать, так может кто-нибудь может сказать мне, если? Или есть другой способ решить мою проблему?
Если что-то непонятно, на мой вопрос, не стесняйтесь спросить, и я попытаюсь прояснить эту проблему :)
Спасибо уже заранее за вашу помощь!
Внимание ... 'если (MotionEvent.ACTION_UP = истина) {' не логическое сравнение –
It должно быть: event.getAction() == KeyEvent.ACTION_UP –
Я полагаю, вы спрашиваете, как обнаружить событие салфетки? –