btnSkip = findViewById(R.id.btnskip);
btnSkip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.err.println("zzx===>onClick");
}
});
btnSkip.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
System.err.println("zzx===>onLongClick");
mBtnTouchMap.put(view.getId(), true);
mHandler.sendEmptyMessageDelayed(LONG_CLICK,5000);
return false;
}
});
btnSkip.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
System.err.println("zzx===>onTouch");
if(motionEvent.getAction() == MotionEvent.ACTION_UP){
mBtnTouchMap.put(view.getId(), false);
}
return false;
}
});
private final static int LONG_CLICK = 100;
private SparseArray<Boolean> mBtnTouchMap = new SparseArray<>();
public Handler mHandler = new Handler() {
@SuppressLint("HandlerLeak")
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case LONG_CLICK:
for (int i = 0; i < mBtnTouchMap.size(); i++) {
int viewId = mBtnTouchMap.keyAt(i);
if (!mBtnTouchMap.valueAt(i)) continue;
switch (viewId) {
case R.id.btnskip:
System.err.println("zzx===>long click btnskip");
break;
}
}
break;
}
}
};