我试图在点击标题时打开一个片段,在长按一下时打开另一个片段,但无论长时间点击还是点击一次,它们都会立即触发。我如何区分这两者? 这是我的代码块:
case R.id.market_header:
marketHeader.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View vi) {
((MainActivity) getActivity()).onMarketClicked(view);
}
});
marketHeader.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
TestcaseFragment2.newInstance(getFragmentManager());
return false;
}
});
break;
答案 0 :(得分:2)
您应该在onLongClick
中返回true,以便系统知道您已处理该事件。
答案 1 :(得分:1)
您应该在setOnLongClickListener
marketHeader.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
TestcaseFragment2.newInstance(getFragmentManager());
return true; //change here
}
});
OnLongClick 会返回一个boolean
来表明您是否已经消耗了该事件,并且不应该继续进行该事件。也就是说,返回true表示您已经处理了该事件,它应该停在这里