4 回答
TA贡献1817条经验 获得超14个赞
按下按钮时,记录按下的时间戳。如果再次按下按钮,将新时间戳与旧时间戳进行比较,如果两次按下的时间足够接近,则执行特殊操作。
private Long lastPressedTime = null;
button.setOnClickListener(v -> {
long currentTime = System.currentTimeMillis();
if (lastPressedTime == null || (currentTime - lastPressedTime) > 2000) {
Toast.makeText(v.getContext(), "Tap again to exit", Toast.LENGTH_SHORT).show();
lastPressedTime = currentTime;
} else {
finish();
}
});
您可以将 更改2000为您想要的任何数字;2000 毫秒是两秒,但也许您想要更长的窗口。
TA贡献1853条经验 获得超6个赞
如何在定义的时间间隔内双击后退退出应用程序的示例:
private long backPressed;
private static final int TIME_INTERVAL = 2000;
@Override
public void onBackPressed() {
if( backPressed + TIME_INTERVAL > System.currentTimeMillis() ) {
finish();
super.onBackPressed();
return;
} else {
Toast.makeText(this, "Tap again to exit", Toast.LENGTH_SHORT).show();
}
backPressed = System.currentTimeMillis();
}
将代码粘贴到onClick().
TA贡献1757条经验 获得超8个赞
使用处理程序来安排设置按钮操作,如下所示:
final OnClickListener listener = new OnClickListener(){
public void onClick(View v) {
Toast.makeText(YourActivity.this,"press back one more time to exit",Toast.LENGTH_SHORT).show();
myExitClose.setOnClickListener(new OnClickListener(){
YourActivity.this.finish();
});
new Handler().postDelay(new Runable(){
myExitClose.setOnClickListener(listener);
},2000); //wait 2 second for the next pressed
}
}
myExitClose.setOnClickListener(listener);
TA贡献1777条经验 获得超10个赞
这是它的基本要点。Toast.maketext 采用上下文、字符串和持续时间。
myExitClose.setOnClickListener( (click) -> {
Toast.makeText(getActivity(), "StringRes", Toast.LENGTH_SHORT).show();
});
您还可以制作一个 Toast 对象并在显示它之前操纵放置等。
添加回答
举报