Listview item click issue

1.6k Views Asked by At

I have added leadbolt ad(entry ad). The advertising works correctly but listview.click doesn't work when I close ad from close sign. (Listview.click does not do anything, It works when I remove AdController)

public class SoundList extends ListActivity {

int [] soundfile;
MediaPlayer mediaPlayer;
private AdController myController;
final Activity act = this;


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


    myController = new AdController(act, "111111111");
    myController.loadAd();
    soundfile= new int[] {R.raw.sound1,R.raw.sound2.....};

    String[] sounds= getResources().getStringArray(R.array.sounds);        
    // Binding Array to ListAdapter
    this.setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, sounds));
    ListView lv = getListView();

    lv.setDescendantFocusability(ListView.FOCUS_BLOCK_DESCENDANTS);
    // listening to single list item on click
    lv.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {     

          Intent intent = new Intent(getApplicationContext(), SingleListItem.class);
          intent.putExtra("position", position);
          startActivity(intent);      

      }
    });
}
1

There are 1 best solutions below

2
On

Having a focusable item in a row of a ListView causes the OnItemClickListener NOT to be invoked.

To fix this issue add following code to row view.

XML:

android:descendantFocusability="blocksDescendants"

Java:

listItem.setDescendantFocusability(FOCUS_BLOCK_DESCENDANTS);