Skip to content Skip to sidebar Skip to footer

Android Listview Clicking On Item Multiple Times

I have a listview with several items. When clicking on an item, an Activity is opened. However, when I click fast several times on the item, the activity, asociated with it, is ope

Solution 1:

The correct way to prevent calls to the ListView items would be to (obviously) disable the OnItemClickListener:

private void onNewsfeedClick(MyObject newsfeed) {
    listView.setOnItemClickListener(null);
    Intent intent = createIntent(newsfeed);
    startActivity(intent);
}

Re-set the listener at onResume, when this activity is visible again.

@Override
protected void onResume() {
    super.onResume();
    listView.setOnItemClickListener(newsfeedClickHandler);
}

Solution 2:

Maintain a boolean value say isItemClicked and reset it when you return back to the listview.

private boolean isItemClicked;
  private OnItemClickListener newsfeedClickHandler = new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
      if (!isItemClicked) {
        isItemClicked = true;
        MyObject newsfeed = adapter.getItem(position);
        onNewsfeedClick(newsfeed);
      }
    }
  };

  private void resetIsItemClicked() {
    isItemClicked = false;
  }

Solution 3:

To prevent multiple clicks on ListView Items, add the following code in your listview click listener:

if (SystemClock.elapsedRealtime() - mLastClickTimeListViewItem < 1000){
    return;
}

Post a Comment for "Android Listview Clicking On Item Multiple Times"