Wie setOnTouchListener für ein Element in einem ListView

Möchte ich, um einen Gegenstand aus meinem ListView und setOnTouchListener für das folgende ist mein code, aber ich bin unfähig es richtig zu stellen.

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);

            }
        });

Der Grund, warum ich wollte, um auf das Element zugreifen, ist, dass ich möchten, ziehen Sie es auf dem Bildschirm.

Gibt es eine bessere Weise, das zu tun, was ich will?

  • versuchen Sie, ändern listView.getChildAt(position).setOnTouchListener zu selectedView.setOnTouchListener oder in getView Methode, wenn init das ivThumbnail mit setOnTouchListener
  • das funktioniert nicht, entweder, onTouch nicht ausgelöst
  • setOnTouchListener bedeutet, dont auslösen der onTouchevent, nur legen Sie den Hörer, nur es beim nächsten mal sein ontouched, ruft die OnTouchListner interface-Methode.
  • Ive versucht, berühren Sie zwei mal, es funktioniert immer noch nicht..
  • Ich habe Probleme mit den touch-Ereignisse vor und das Problem war, dass die übergeordnete Ansicht war, Sie zu stehlen, so dass das Kind niemals sah. Also in deinem Fall die ListView ist Diebstahl, die touch-Ereignisse, so dass die ListView Elemente nie bekommen Sie. Leider habe ich keine Vorschläge, wie es zu beheben.
  • können Sie versuchen, diese: listview-dont setzen setOnItemClickListener, und in Ihrem getView Methode in-adapter, setzen Sie die Ansicht, die Sie erhalten möchten-event mit der Methode setOnClickListener(...), vermeiden Sie die Verwendung setOnTouchListener.
  • Wie die Ihre sind die Schaffung der Listenansicht. Ich denke, dass Ihr mit der Erweiterung des Basis-adapter, Um die Liste anzuzeigen. So anstatt, den Hörer mit auf der Liste anzuzeigen, stellen Sie den on Klick-listener für das widget, dass Sie in der Liste Ansicht.
  • rahatekar:das löst nicht das problem entweder
  • Können Sie sagen, welche widgets, die Sie verwenden Innerhalb der Listview.
  • Es ist ein custom-widget, aber wie auch immer, wie können wir eine touch-listener für die Elemente eines beliebigen widget?
  • ich habe Gesicht, gleiche problem . haben u got irgendeine Lösung?

InformationsquelleAutor Arif Nadeem | 2012-03-14
Schreibe einen Kommentar