4 回答

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

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