? ? ? 事件的沖突地粪,在開(kāi)發(fā)中并不少見(jiàn)酸些,比如滑動(dòng)和點(diǎn)擊宰译,ScorllView + ListView的滑動(dòng)等等檐蚜。
? ? ? 比較好的解決方法就是告訴父組件不要攔截我的事件,由我自己來(lái)處理用戶(hù)的操作事件沿侈。比如view要自己處理用戶(hù)的操作事件闯第,添加如下代碼:
view.setOnTouchListener(newView.OnTouchListener() {
@Override
public booleanonTouch(View v, MotionEvent event) {
? ? if (event.getAction() == MotionEvent.ACTION_DOWN) {
? ? ? ? ? // 告訴父組件不要攔截我的事件
? ? ? ? ? ?v.getParent().requestDisallowInterceptTouchEvent(true);
? ? ?} else if (event.getAction() == MotionEvent.ACTION_UP) {
? ? ? ? ? v.getParent().requestDisallowInterceptTouchEvent(false);
? ? ?}
? ? ? ?return false;
? ? ? }
});