Ensure running mTouchModeReset when AbsListView is detached
mTouchModeReset should be executed when AbsListView is detached from window. If not, when the AbsListView is re-attaced to window, the child can retain a pressed state. You can see this problem easily when you double-touch an item of option menu very quickly. Change-Id: I5aaa1fd5b95847efb2f5f1b5ec7cabe8eb85b237 Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
This commit is contained in:
@ -2637,7 +2637,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
|
|||||||
|
|
||||||
if (mTouchModeReset != null) {
|
if (mTouchModeReset != null) {
|
||||||
removeCallbacks(mTouchModeReset);
|
removeCallbacks(mTouchModeReset);
|
||||||
mTouchModeReset = null;
|
mTouchModeReset.run();
|
||||||
}
|
}
|
||||||
mIsAttached = false;
|
mIsAttached = false;
|
||||||
}
|
}
|
||||||
@ -3422,6 +3422,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
|
|||||||
if (!mDataChanged) {
|
if (!mDataChanged) {
|
||||||
performClick.run();
|
performClick.run();
|
||||||
}
|
}
|
||||||
|
mTouchModeReset = null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
postDelayed(mTouchModeReset,
|
postDelayed(mTouchModeReset,
|
||||||
|
Reference in New Issue
Block a user