安卓 长按显示toast 取消后不显示
时间: 2023-08-06 22:01:42 浏览: 66
你可以在长按的事件中添加一个 `OnLongClickListener`,在 `onLongClick()` 方法中显示 `Toast`,并返回 `true` 表示事件已被消费。然后,在 `onTouch()` 方法中判断如果是 `ACTION_CANCEL` 事件,就调用 `Toast` 的 `cancel()` 方法取消显示。
示例代码如下:
```java
button.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(getApplicationContext(), "长按了按钮", Toast.LENGTH_SHORT).show();
return true;
}
});
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_CANCEL) {
Toast toast = Toast.makeText(getApplicationContext(), "取消了长按", Toast.LENGTH_SHORT);
toast.show();
toast.cancel();
}
return false;
}
});
```
阅读全文