在我的应用程序中我有视图鳍状肢是否可以使用onclick,ontouch侦听器为一个视图鳍状肢...
我试过但是它的工作一半。假设onclick工作正常,ontouch监听器对触摸监听器不起作用。我试图使用onclick监听器进行整个布局,并使用ontouch监听器进行视图翻转,但这也无效。
On touch Listener:
viewFilper.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(final View v, final MotionEvent event) {
// TODO Auto-generated method stub
Here the code for flip the pages
return true;
}
});
单击Listener:
viewFilper.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Here i use intent to change activity regarding with the details of view flipper
}
});
那么如何为同一个容器使用onclick和ontouch监听器呢?
我需要你的帮助伙伴。提前致谢
答案 0 :(得分:0)
OnTouchListener应该工作正常,问题是你返回true,所以你“吸收”触摸事件并且OnClickListener不起作用。
如果您在触摸侦听器上返回false并且在单击时返回true,则它应该可以正常工作。
如果您将使用触控侦听器移动视图,OnClick将不会被调用,因为触摸事件不会被吸收所以我建议您在视图被移动或释放时返回true。
示例:
view.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v,MotionEvent event) {
iAction = event.getActionMasked();
switch (iAction) {
case MotionEvent.ACTION_MOVE:
// your code here
bExitValue = true;
break;
case MotionEvent.ACTION_DOWN:
bExitValue = false;
break;
case MotionEvent.ACTION_UP:
//no need to set to true because it has already gone through ACTION_MOVE, if it didn't it will return false and the click listener will absorb it
break;
}
return (bExitValue);
}
});
viewFilper.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//your code
}
});