3

J'ai une activité de liste avec un adaptateur de tableau personnalisé et je ne peux pas obtenir le menu contextuel lorsque j'appuie longuement sur un élément de la liste.Menu contextuel dans l'activité de liste

<TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"/> 
    <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp"> 
     <ListView 
       android:id="@+id/list" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       /> 

    </FrameLayout> 

liste Aménagement

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
     > 
    <ImageView 
      android:id="@+id/icon" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      /> 
    <TextView 
      android:id="@+id/info" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="10dp" 
      android:textSize="15sp" 
      android:singleLine="true" 
      android:ellipsize="marquee" 
      android:scrollHorizontally = "true" 
      android:maxWidth="200dp" 
      /> 


    <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="right" 
      > 
     <ImageButton 
       android:id="@+id/button" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:background="@null" 
       android:paddingRight="10dp"     
       android:paddingLeft="10dp" 


       /> 
    </LinearLayout> 

</LinearLayout> 

Dans l'activité

@Override 
public void onCreate(Bundle savedInstanceState) { 
    registerForContextMenu(getListView()); 
} 

    @Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.context_menu, menu); 



    } 

Pourquoi je ne vois pas le menu contextuel? Ce que je fais mal? Comment obtenir le menu contextuel avec l'adaptateur de tableau et ListActivity. Merci!

Répondre

1

Vous devez définir la LongClickable propriété pour la première LinearLayout à partir du fichier de mise en page de l'élément de liste:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:longClickable="true" 
     > 
... 
+0

Salut david je suis modifier le fichier de code – Narasimha