web-dev-qa-db-fra.com

Comment capturer un événement de presse long pour ListView élément d'une liste de liste?

supposons que j'ai une liste de liste, maintenant je veux attraper l'événement de presse à long terme sur un élément de la liste, car j'ai utilisé le bloc de code suivant (obtenir après googled) mais que cela ne fonctionne pas !!! S'il vous plaît aider!

            public class InboxActivity extends ListActivity {

            this.getListView().setOnLongClickListener(new OnLongClickListener() {
                        @Override
                        public boolean onLongClick(View v) {
                            Toast.makeText(InboxActivity.this, "postion: " +    getListView().getSelectedItemPosition(), Toast.LENGTH_SHORT).show();
                            return true;
                        }
                    });

            }

Je vois aussi du code en ligne avec contextmenu, mais je n'ai pas la chance d'obtenir la position de ListItem d'où le menu contextuel s'ouvre.

28
saiket

Je ne sais pas si vous avez déjà résolu votre problème, je suis presque sûr de votre faire, mais cela fonctionne

this.getListView().setLongClickable(true);
this.getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
    public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
        //Do some
        return true;
    }
});
61
user809486

this.getListView().setOnItemLongClickListener devrait fonctionner.

6
ACM64
    (viewitem).setOnLongClickListener(new OnItemLongClickListener() {           
        @Override
        public boolean onLongClick(View v) {
            //your code here
            return false;
        }
    }

(Ceci est un peu différent des réponses ci-dessus)

4
Idan

je pense que vous voulez savoir comment obtenir la valeur ..

listView.setOnItemLongClickListener(new OnItemLongClickListener() {
                    public boolean onItemLongClick(AdapterView parentView, View childView, int position, long id) {
                                            // this will provide the value
                        listView.getItemAtPosition(position)
                        return false;
                    }

                })
3
Dilberted