![](/img/trans.png)
[英]Add event OnClickListener in dynamically Linear layout in android
[英]How to Add OnTouchListener and OnClickListener at a time in Linear Layout?
如何在LinearLayout
一次添加事件OnTouchListener
和OnclickListener
?
这是我的代码,但不起作用
final LinearLayout llTimeTable=(LinearLayout) findViewById(R.id.llSehriIftar);
llTimeTable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Ramadandate.class);
startActivity(intent);
}
});
llTimeTable.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
llTimeTable.setBackgroundColor(Color.rgb(51, 51, 255));
break;
case MotionEvent.ACTION_UP:
// set color back to default
llTimeTable.setBackgroundColor(Color.rgb(76, 106, 225));
break;
}
return true;
}
});
但是,当我只使用OnclickListener
它可以工作,当我只使用onTouch
方法时,它可以工作,但两者同时不起作用。
由于Touch事件更为通用,因此首先调用它,然后onClick
被触发,但是,因为onTouch返回true,所以事件被消耗并且永远不会到达onClick
。
只需将onTouch
更改为return false
,即可调用onClick。
llTimeTable.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//Your code.......
return false;
}
});
如果返回true,请确保在TouchListener
返回false,然后该事件将不会传递给其他侦听器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.