Как обработать нажатия на множество ImageView?

Ответить
Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Как обработать нажатия на множество ImageView?

Сообщение powercat » 22 мар 2013, 19:10

Привет.
Такая проблема - на LinearLayout лежит 30-40, или давайте утрирую - 100 ImageView (пока сам не знаю, сколько будет, но больше 30).
У каждой ImageView есть событие Click_имяВьюшки (android:onClick прописано в xml).
Я могу обратиться к каждой из них и обработать вот так:

Код: Выделить всё

public void Click_имяВьюшки (View view) {
1. Смена картинки у кликнутой вьюхи на другую, лежащую в ресурсах;
2. Запись в файл id кликнутой вьюхи;
}
Таким образом, чтобы обработать 100 вьюшек, надо сто раз это написать для каждой...
Но я уверен, что это можно сделать это гораздо проще через циклы, но вот как - что-то не понимаю (((

Может кто-нить наваять коТТ?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Как обработать нажатия на множество ImageView?

Сообщение Foenix » 22 мар 2013, 22:25

мне тут кто-то из ребят помогал, частично сама придумала
у меня так обрабатываются кнопочки с цифрами. + У каждой кнопочки в xml заполнено свойство тег.

Код: Выделить всё

String[] idOfButtons = { "btn0", "btn1", "btn2", "btn3", "btn4", "btn5", "btn6", "btn7", "btn8", "btn9" };
		for (int position = 0; position < idOfButtons.length; position++) {
			Integer btnId = mRes.getIdentifier(idOfButtons[position], "id", (getActivity()).getBaseContext()
					.getPackageName());
			ImageButton btn = (ImageButton) v.findViewById(btnId);
			btn.setOnClickListener(this.onClickNum);
		}
а обработчик смотрит тэг (мне удобно было с тэгом, т.к. нужны были именно циферки).

Код: Выделить всё

public OnClickListener onClickNum = new OnClickListener() {
		public void onClick(final View v) {
			String num = v.getTag().toString(); ...
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Как обработать нажатия на множество ImageView?

Сообщение rezak90 » 23 мар 2013, 00:23

почему народу listview не нравится, я устал объяснять что адаптер берёт на себя построение интерфейса и это проще чем самому 30 кнопок делать, ведь проще указать адаптеру создать 30 кнопок он и создаст, 10 строк кода вместо 300
R.id.team
Политика на форуме запрещена

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Как обработать нажатия на множество ImageView?

Сообщение powercat » 23 мар 2013, 01:04

Почему листвью не подходит - у меня имаджешки расположены прихотливо, а не списком

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как обработать нажатия на множество ImageView?

Сообщение KamiSempai » 23 мар 2013, 12:37

Сдается мне, это будет игра.
Не знаю как остальные думают, но лично я считаю, что сотня ImageView на экране - это тот еще трэш.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Как обработать нажатия на множество ImageView?

Сообщение rezak90 » 23 мар 2013, 13:15

у меня имаджешки расположены прихотливо, а не списком
и что? в lisview нельзя сделать вряд сколько тебе хочется? ещё есть gridview
R.id.team
Политика на форуме запрещена

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Как обработать нажатия на множество ImageView?

Сообщение powercat » 23 мар 2013, 17:24

KamiSempai писал(а):Сдается мне, это будет игра.
Не знаю как остальные думают, но лично я считаю, что сотня ImageView на экране - это тот еще трэш.
Неее...ты что, рылом не вышел я игры делать...это ж пример - 100 вьюшек ))) их будет до 40

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Как обработать нажатия на множество ImageView?

Сообщение powercat » 23 мар 2013, 17:25

rezak90 писал(а):
у меня имаджешки расположены прихотливо, а не списком
и что? в lisview нельзя сделать вряд сколько тебе хочется? ещё есть gridview
я полагал, что в листвью только 1 элемент можно разместить...ладно, будем копать )))

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Как обработать нажатия на множество ImageView?

Сообщение rezak90 » 23 мар 2013, 17:38

я полагал, что в листвью только 1 элемент можно разместить
правильно размещать можно один View, а вот в этой View можно же что угодно и как угодно
R.id.team
Политика на форуме запрещена

Ответить