Как установить OnTouchListener для элемента в ListView - PullRequest
3 голосов
/ 14 марта 2012

Я хочу получить элемент из моего ListView и setOnTouchListener для этого, вот мой код, но я не могу установить его правильно.

listView.setOnItemClickListener(new OnItemClickListener() {

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

            Log.d("ON ITEM CLICK...", " ON ITEM CLICK... "+ position);

            listView.getChildAt(position).setOnTouchListener(HorizontalListActivity.this);

            ViewHolder viewHolder =(ViewHolder)selectedView.getTag();

            viewHolder.ivThumbnail.setOnTouchListener(HorizontalListActivity.this);

            }
        });

Причина, по которой я хотел получить доступ к элементу, заключается в том, что я хочу перетащить его на экран.

Есть ли лучший способ сделать то, что я хочу?

1 Ответ

2 голосов
/ 29 мая 2012

Я нахожусь в той же ситуации и нашел что-то, что могло бы работать, но у меня не было времени попробовать это.Основная идея состоит в том, чтобы отправить событие касания ребенку, как вы это сделали, с помощью getChildAt.Вы прослушиваете сенсорные события в просмотре списка и просто, если вы коснулись интересующего вас представления, отправьте сенсорное событие на него, чтобы обработать его:

 MyControl control = ListViews.getChildAt(position));
 control.onTouchEvent(touchEvent);
...