Fragment Touch事件泄露

当Fragment的栈里面有几个fragment的时候,这个时候如果是几个fragment状态是hide,当你触摸当前fragment的时候,下层的fragment的事件被触发,这是由于Touch事件泄露传到了下层中。解决方法就是拦截fragment的

public class GroupApplyFragment extends Fragment implements OnTouchListener {

	

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// 添加视图
		View view = inflater.inflate(R.layout.fragment_in_group_apply,
				container, false);
		
		return view;
	}

	.
        .
        .
        .

	// onTouch事件 将上层的触摸事件拦截
	@Override
	public boolean onTouch(View v, MotionEvent event) {
		return true;
	}

	@Override
	public void onViewCreated(View view, Bundle savedInstanceState) {
		// 拦截触摸事件,防止泄露下去
		view.setOnTouchListener(this);
	}

}    

  

原文地址:https://www.cnblogs.com/qixing/p/4022850.html