Оптимизация слушателей (OnItemClick + OnClick)

Ответить
Lemme
Сообщения: 16
Зарегистрирован: 29 янв 2015, 23:38

Оптимизация слушателей (OnItemClick + OnClick)

Сообщение Lemme » 08 фев 2015, 17:38

Можно ли оптимизировать этот код, в идеале, избавиться от onClickListener внутри onItemClick

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

    public void onItemClick(AdapterView<?> a, View v, int position, long id) {

        final TextView title = (TextView) v.findViewById(R.id.title);
        final TextView category = (TextView) v.findViewById(R.id.category);

        View.OnClickListener onclk = (new View.OnClickListener() {
            @Override
            public void onClick(View vv) {
                switch (vv.getId()) {
                    case R.id.title:
                        Log.d("Test", title.getText().toString());
                        break;
                    case R.id.category:
                        Log.d("Test", category.getText().toString());
                        break;
                }
            }
        });
        title.setOnClickListener(onclk);
        category.setOnClickListener(onclk);
    }
Просто, я не в курсе, нормально ли это, когда такое кол-во слушателей работает одновременно.

p.s к примеру на экране 10 item (элементы ListView) и в каждом title и category. Получается 21 слушатель только на листвью...

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Оптимизация слушателей (OnItemClick + OnClick)

Сообщение doter.ua » 08 фев 2015, 18:49

Это событийный подход. ОС не опрашивает датчики постоянно (как это в гироскопе например). Если на хуман ленгвич, то в событийной модели есть метод который должен запуститься, и когда событие происходит - он запускается.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Lemme
Сообщения: 16
Зарегистрирован: 29 янв 2015, 23:38

Re: Оптимизация слушателей (OnItemClick + OnClick)

Сообщение Lemme » 08 фев 2015, 19:20

Спасибо

Ответить