//解决滑动冲突
deviceGridview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(!isFirstItemVisible(deviceGridview)){
if (event.getAction() == MotionEvent.ACTION_UP) {
scrollView.requestDisallowInterceptTouchEvent(false);
} else {
scrollView.requestDisallowInterceptTouchEvent(true);
}
}
return false;
}
});
/**
* 判断列表第一个是否显示
* @param listView
* @return
*/
public static boolean isFirstItemVisible(AbsListView listView) {
Adapter adapter = listView.getAdapter();
if (null != adapter && !adapter.isEmpty()) {
int mostTop = listView.getChildCount() > 0 ? listView.getChildAt(0).getTop() : 0;
return mostTop >= 0;
} else {
return true;
}
}