4 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個贊
按下按鈕時,記錄按下的時間戳。如果再次按下按鈕,將新時間戳與舊時間戳進(jìn)行比較,如果兩次按下的時間足夠接近,則執(zhí)行特殊操作。
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為您想要的任何數(shù)字;2000 毫秒是兩秒,但也許您想要更長的窗口。

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊
如何在定義的時間間隔內(nèi)雙擊后退退出應(yīng)用程序的示例:
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貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個贊
使用處理程序來安排設(shè)置按鈕操作,如下所示:
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貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個贊
這是它的基本要點(diǎn)。Toast.maketext 采用上下文、字符串和持續(xù)時間。
myExitClose.setOnClickListener( (click) -> {
Toast.makeText(getActivity(), "StringRes", Toast.LENGTH_SHORT).show();
});
您還可以制作一個 Toast 對象并在顯示它之前操縱放置等。
添加回答
舉報(bào)