Я разработал шахматную доску, используя 64 кнопки в Android. Но после его проектирования у меня много проблем, потому что мне нужно реализовать 64 OnClickListeners. Есть ли другой способ реализовать OnClickListener, используя цикл for
, или неправильно разрабатывать шахматную доску с помощью кнопок?Проектирование шахмат Пользовательский интерфейс в android
ответ
Да, можно перебирать кнопки и добавлять слушателей к каждому. Внутри ваш цикл, вы могли бы сделать что-то вроде:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Handle click events...
}
});
, но каждая кнопка имеет другое имя (например, a1, a2..a8, b1, b2 ... b8), Как это можно использовать для цикла в виде кнопки id –
У этого сообщения есть некоторая хорошая информация о том, как это сделать: http://stackoverflow.com/questions/4809834/how-to-iterate-through-a-views-elements – elevine
Я создал TableLayout с 8 таблицами, каждый таблеток, содержащий 8 кнопок в LinearLayout.so ответ, указанный в этом сообщении, будет проверить все эти детские (включая кнопки) или нет? –
Вы должны взглянуть на developer samples, особенно Tic Tac приложения носка, который использует настраиваемое представление для сетки на основе игрового поля. Вы должны уметь расширять эту идею.
Если вы хотите продолжить использование кнопок для каждого квадрата, вам нужно будет узнать идентификаторы для них, чтобы создать onClickListener
. Существует два способа решить эту проблему.
Либо добавить onClickListener в макете XML:
<Button
parameters...
onClick="myOnClick"
</
В вашей Activity
то вы можете создать метод myOnClick:
public void myOnClick(View clickedView){
//code
}
А, возможно, лучший способ для кнопки-решение было бы создать их от кода, либо получите свой LayoutInflater
, либо создайте свои xml-кнопки и добавьте в свой текущий контент, либо создайте новые кнопки, используя соответствующий класс java: Button myButton e3 = new Button(context);
Если вы действительно хотите иметь 64 отдельных вида, вам не нужно 64 отдельных onClickListeners; просто дайте представления атрибуту onClick в XML, все к тому же методу связанной деятельности. Затем вы можете создать таблицу во время сборки, чтобы сопоставить идентификаторы с координатами или добавить координаты для каждого представления с помощью собственных атрибутов.
Однако было бы разумнее иметь один вид для вашей шахматной доски. Это представление разбилось бы на 64 квадрата, сохранив внутреннюю таблицу, указывающую, какие фигуры есть где, нарисуйте квадраты и части в своем .onDraw()
и произнесите некоторую математику при нажатии, чтобы определить, на какой квадрат был нажат. Исследование TileView.java
в приложении sample Snake; как только вы поймете этот код, вы сможете легко провести время со своим классом ChessboardView
.
- 1. Разработка шахмат в андроиде
- 2. Динамический пользовательский интерфейс Android
- 3. Создать пользовательский пользовательский интерфейс для Android
- 4. Как работает пользовательский интерфейс Android?
- 5. Android AsyncTask блокирует пользовательский интерфейс
- 6. Android-пользовательский интерфейс черного ящика
- 7. Пользовательский интерфейс Android на xml
- 8. 3D-приложение для шахмат в android
- 9. Пользовательский интерфейс Android Как разблокировать шаблон Android
- 10. Как обновить пользовательский интерфейс в android
- 11. Искаженный пользовательский интерфейс в эмуляторе Android
- 12. Как скрыть пользовательский интерфейс в android
- 13. Невозможно отобразить пользовательский интерфейс xml в Android
- 14. Отдельный пользовательский интерфейс от Logic в Android
- 15. Как сохранить пользовательский интерфейс в Android?
- 16. Как разработать комплексный пользовательский интерфейс в android
- 17. Как построить потрясающий пользовательский интерфейс в android
- 18. Пользовательский интерфейс в Photoshop для Android UI
- 19. Как сделать расширенный пользовательский интерфейс в Android?
- 20. прокручиваемые вкладки пользовательский интерфейс Интерфейс
- 21. Android Проектирование
- 22. Пользовательский пользовательский интерфейс Wix
- 23. Проектирование термометра в Android
- 24. Пользовательский интерфейс в SAS
- 25. Пользовательский интерфейс в java
- 26. Пользовательский интерфейс в Prolog
- 27. Android динамически создает пользовательский интерфейс против ListView
- 28. Android: обновить пользовательский интерфейс из потока
- 29. Android: сохранить пользовательский интерфейс с постоянным размером
- 30. Пользовательский интерфейс с GPS на Android
Просто потому, что 99% примеров используют анонимный подкласс 'OnClickListener', это не значит, что вам нужно. Подклассируем его классом, который хранит x, y в полях и конструктор с x, y в качестве параметров. – martijno