Проблема со считываением клика Android

285
17 января 2018, 16:31

Здравствуйте. Наткнулся на такую проблему: имею 3 кнопки(ImageButton), необходимо после 1-ого нажатия на одну из кнопок,отследить послеующее нажатие(OnClick) на следующую кнопку(допустим-2).3-я не подойдет. Как отследить первый клик,я понимаю.Но как отследить вторую в нужную позицию,нет P.S. Создаю шахматы,пытаюсь реализовать перемещение фигуры посредством изменения ImageButton по клику

Answer 1

@Андр спросил, как программно реализовать перемещение фигур? Я решил написать алгоритм. Начнем!

  1. При нажатии на клетку обращаемся к массиву поля и определяем, какая фигура там стоит. Записываем значение в int1 (пешка - 1, конь - 2, ...) и позицию фигуры в int2 и int3 (лучше в формате двух цифр - к примеру 4 и 2).
  2. Если нажатая клетка пуста, ничего не делаем, в противном случае ждем нажатия другой клетки - клетки хода.
  3. При нажатии на клетку хода строим switch - смотрим, может ли туда ходить фигура. Тут и пригодится созданный int. Если все правильно, то проводим вторую проверку - занята ли та клетка? Делаем это через массив. Принимаем окончательное решение и производим (или не производим) перемещение фигуры. Изменяем массив фигур. Стоит учесть, чей ход!!!

Стоит заметить - изначально массив создается по правилам шахмат - происходит расстановка фигур. Приведем пример выполнения алгоритма в начале игры.

  1. Пользователь нажал на пешку с позицией D2. Записываем в int1 значение 1, в int2 значение 4, в int3 значение 2.
  2. Пропускаем.
  3. Проверяем в switch(int1) значение. Так как оно равно 1, то смотрим возможные ходы для пешки. Она удовлетворяет требованиям. Происходит ход и запись новой позиции фигуры в массив.
Answer 2

Это можно сделать посредством создания дополнительной переменной; можно создать класс, который будет ее хранить, а можно сделать это прямо в классе активности. Вот алгоритм действий:

  • Создаем переменную button со значением false.
  • При нажатии первой кнопки меняем ее значение на true.
  • При нажатии на вторую кнопку:
    • Если у button значение false,ничего не делаем.
    • Если у button значение true, выполняем необходимое Вам действие и ставим переменной false.
READ ALSO
Передать список из JSP в JS

Передать список из JSP в JS

В файле JSP происходит обработка карты entry:

320
XML парсинг Android [требует правки]

XML парсинг Android [требует правки]

Здравствуйте, есть задание скачать файл XML по ссылке, парсить и сохранить данные в SQLПоделитесь пожалуйста мыслями, ссылками на ресурсы и похожие...

222
Как опустить прокрутку в самую нижнюю точку блока? [требует правки]

Как опустить прокрутку в самую нижнюю точку блока? [требует правки]

В этот прокручивающийся блок подгружается динамическое содержимое

241