Страница 1 из 1

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

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

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

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

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

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

Добавлено: 22 мар 2013, 22:25
Foenix
мне тут кто-то из ребят помогал, частично сама придумала
у меня так обрабатываются кнопочки с цифрами. + У каждой кнопочки в 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(); ...

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

Добавлено: 23 мар 2013, 00:23
rezak90
почему народу listview не нравится, я устал объяснять что адаптер берёт на себя построение интерфейса и это проще чем самому 30 кнопок делать, ведь проще указать адаптеру создать 30 кнопок он и создаст, 10 строк кода вместо 300

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

Добавлено: 23 мар 2013, 01:04
powercat
Почему листвью не подходит - у меня имаджешки расположены прихотливо, а не списком

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

Добавлено: 23 мар 2013, 12:37
KamiSempai
Сдается мне, это будет игра.
Не знаю как остальные думают, но лично я считаю, что сотня ImageView на экране - это тот еще трэш.

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

Добавлено: 23 мар 2013, 13:15
rezak90
у меня имаджешки расположены прихотливо, а не списком
и что? в lisview нельзя сделать вряд сколько тебе хочется? ещё есть gridview

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

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

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

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

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

Добавлено: 23 мар 2013, 17:38
rezak90
я полагал, что в листвью только 1 элемент можно разместить
правильно размещать можно один View, а вот в этой View можно же что угодно и как угодно