我正在使用表格布局来显示数据,但我希望它的行为类似于列表项(选择能力、选择更改背景时、单击时、具有悬停效果、可单击)为此我正在使用以下侦听器
OnClickListener(to perform action)
OnFocusChangeListener(To change background color)
OnTouchListener(to focus specific row)
现在的问题是,当用户触摸任何项目时,它首先获得焦点,然后必须再次触摸才能触发 onclick 事件,为了解决这个问题,我进行了更改,并且 ontouch 我触发了特定于行的操作。
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() != MotionEvent.ACTION_UP){
v.requestFocus();
int viewId= v.getId();
handleEvent(viewId);//Switch cases to perform row specific actions.
}
return false;
}
现在,如果用户触摸行事件会触发完美的工作,但是当甚至用户想要通过将手指拖动到屏幕事件上向下滚动数据时,这里会出现另一个问题ontouch
......虽然用户认为它会自动执行操作scroll down
屏幕。