android如何取消子控件的监听?谢谢!

如之前设置了setOnClickListener,但这会影响对父控件onTouListener的监听,如何在代码中完全取消onclicklistener?
如果用setOnClickListener(null)的话仍会覆盖掉父控件的监听啊!
求教,谢谢!

你一定看错了,一个OnClickListener只会对一个view有效,不存在和父控件冲突问题。如果有问题你可以设置setOnClickListener(new OnClickListener(){
public void click(View v){
log.d("------", v.getId());
}
});

给view设置上id,看看是谁追问

我是写一个2048的游戏,父控件是一个大的棋盘,onTouchListener,通过down和up的坐标监听滑动的方向;
子控件是每一个小格子,当点击”移除一个格子“时启动监听;
这个时候如果我的手在小个子上上下左右滑动,父控件就监听不到了啊T_T

追答

Item Layout的根控件设置其Android:descendantFocusability=”blocksDescendants”即可

追问

我在java里设置setdescendantfocusability也没用;
把小格子设置成focusable(false)也没用;
。。。给跪了啊

追答

我想不到了,
你一点一点调试吧,代码全去掉,然后一点一点往上加,相关的类去查下相关api,也许会有结果。

温馨提示:答案为网友推荐,仅供参考
相似回答