1

J'essaie d'implémenter un menu contextuel flottant dans mon application. Je suis un exemple fourni par Google: http://developer.android.com/guide/topics/ui/menus.html, mais coincé au début avec ce morceau de code:onLongClick() n'est pas appelée sur l'action de clic long

@Override 
protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 

new AsyncTaskOne(this).execute(); 

    getListView().setOnLongClickListener(new View.OnLongClickListener() { 
      // Called when the user long-clicks on someView 

      public boolean onLongClick(View view) { 
       Log.v("OnLongClick", "clicked"); // It doesn't log anything on a long click event. 
       if (mActionMode != null) { 
        return false; 
       } 

       // Start the CAB using the ActionMode.Callback defined above 
       mActionMode = actiV().startActionMode(mActionModeCallback); 
       view.setSelected(true); 
       return true; 
      } 
     }); 

} 

J'ai mis la vérification Connectez-vous à onLongClick(View view) méthode pour savoir si elle est effectivement appelé. Lorsque je clique longtemps sur un élément de ma liste, rien ne se passe (mon Log.v ne consigne rien). Je me demande peut-être que le tutoriel manque quelque chose (une déclaration dans layout.xml)?

+0

Y at-il quelque chose dans votre 'ListView', ou est-il vide? Est-ce qu'il remplit la zone de contenu même si c'est vide? Sinon, il n'y aurait pas de place pour le toucher ... –

+0

'new AsyncTaskOne (this) .execute(); 'remplit ListView avant que' setOnLongClickListener' ne soit défini. – Kristopher

Répondre

Questions connexes