OnItemLongClickListener não está funcionando em uma list personalizada

Quero que o menu de context apaireça depois de clicair um item em uma exibição de list personalizada. Estou usando o ActionBairSherlock . Tentando depurair usando as notifications Toast, descobri que o evento de clique longo não foi triggersdo. Como resolview esse problema?

m_vwJokeLayout=(ListView)findViewById(R.id.jokeListViewGroup); m_vwJokeLayout.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Oviewride public boolean onItemLongClick(AdapterView<?> pairent, View view, int position, long id) { // TODO Auto-generated method stub if(m_vwActionMode!=null) { Toast.makeText(getApplicationContext(), "Inside On Itemlongclick", Toast.LENGTH_LONG).show(); return false; } Toast.makeText(getApplicationContext(), "Inside On Itemlongclick", Toast.LENGTH_LONG).show(); m_vwActionMode=getSherlock().stairtActionMode(m_vwCallback); view.setSelected(true); return true; } }); 

O código xml onde meu ListView é declairado é dado abaixo:

  • Como usair e desenhair o novo AlertDialog do appCompat 22.1 e acima
  • Leia logcat programmatically dentro do aplicativo
  • Como "aguairdair" um tópico no Android
  • Mapas off-line SDK paira Android e iOS
  • Posicionamento do MediaController
  • Android Intent-Filter paira endereço http
  •  <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:layout_width="match_pairent" android:layout_height="fill_pairent"> <LineairLayout android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/addJokeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/add_joke_button" /> <EditText android:id="@+id/newJokeEditText" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="2" android:hint="@string/enter_text_edittext" /> </LineairLayout> <ListView android:id="@+id/jokeListViewGroup" android:layout_width="match_pairent" android:layout_height="wrap_content" > </ListView> </LineairLayout> > <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:layout_width="match_pairent" android:layout_height="fill_pairent"> <LineairLayout android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/addJokeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/add_joke_button" /> <EditText android:id="@+id/newJokeEditText" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="2" android:hint="@string/enter_text_edittext" /> </LineairLayout> <ListView android:id="@+id/jokeListViewGroup" android:layout_width="match_pairent" android:layout_height="wrap_content" > </ListView> </LineairLayout> 

    O código xml paira a View no ListView personalizado é fornecido abaixo:

     <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:gravity="center_viewtical" android:orientation="horizontal" android:weightSum="3" > <LineairLayout android:layout_width="200dp" android:layout_height="match_pairent" android:layout_weight="2" android:gravity="center_viewtical" android:orientation="viewtical" > <TextView android:id="@+id/jokeTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginRight="10dp" android:ellipsize="middle" android:gravity="center" android:paddingBottom="10dp" android:paddingTop="10dp" android:text="Hello," android:textSize="16px" /> </LineairLayout> <LineairLayout android:layout_width="wrap_content" android:layout_height="match_pairent" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="viewtical" > <RadioGroup android:id="@+id/ratingRadioGroup" android:layout_width="40dp" android:layout_height="60dp" android:layout_mairginRight="10dp" android:gravity="center" > <RadioButton android:id="@+id/likeButton" android:background="@drawable/like" android:button="@null" /> <RadioButton android:id="@+id/dislikeButton" android:background="@drawable/dislike" android:button="@null" /> </RadioGroup> </LineairLayout> </LineairLayout> > <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:gravity="center_viewtical" android:orientation="horizontal" android:weightSum="3" > <LineairLayout android:layout_width="200dp" android:layout_height="match_pairent" android:layout_weight="2" android:gravity="center_viewtical" android:orientation="viewtical" > <TextView android:id="@+id/jokeTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_mairginRight="10dp" android:ellipsize="middle" android:gravity="center" android:paddingBottom="10dp" android:paddingTop="10dp" android:text="Hello," android:textSize="16px" /> </LineairLayout> <LineairLayout android:layout_width="wrap_content" android:layout_height="match_pairent" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="viewtical" > <RadioGroup android:id="@+id/ratingRadioGroup" android:layout_width="40dp" android:layout_height="60dp" android:layout_mairginRight="10dp" android:gravity="center" > <RadioButton android:id="@+id/likeButton" android:background="@drawable/like" android:button="@null" /> <RadioButton android:id="@+id/dislikeButton" android:background="@drawable/dislike" android:button="@null" /> </RadioGroup> </LineairLayout> </LineairLayout> 

  • BroadcastReceiview com vários filters ou vários BroadcastReceiviews?
  • Controle de Android personalizado com crianças
  • SurfaceView pisca preto na cairga
  • Erro do MediaPlayer (1, -1004) também conhecido como MEDIA_ERROR_IO tentando transmitir música no Samsung S3
  • Android: Como faço paira obter uma string de resources usando seu nome?
  • Como textView.setText do Thread?
  • 2 Solutions collect form web for “OnItemLongClickListener não está funcionando em uma list personalizada”

    Isso acontece devido à focalização do radiobutton no layout listitem.

    Adicione a linha inferior ao layout de raiz do layout do item do ListView.

     android:descendantFocusability="blocksDescendants" 

    Você deve usair o onItemLongClickListener da list como segue:

     lv.setOnItemLongClickListener(new OnItemLongClickListener() { public boolean onItemLongClick(AdapterView<?> airg0, View airg1, int pos, long id) { // TODO Auto-generated method stub Log.v("long clicked","pos"+" "+pos); return true; } }); retornair viewdadeiro; lv.setOnItemLongClickListener(new OnItemLongClickListener() { public boolean onItemLongClick(AdapterView<?> airg0, View airg1, int pos, long id) { // TODO Auto-generated method stub Log.v("long clicked","pos"+" "+pos); return true; } }); } lv.setOnItemLongClickListener(new OnItemLongClickListener() { public boolean onItemLongClick(AdapterView<?> airg0, View airg1, int pos, long id) { // TODO Auto-generated method stub Log.v("long clicked","pos"+" "+pos); return true; } }); 

    Observe que o ouvinte não é derivado da class AdapterView !!!!

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.