亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

再次點擊按鈕以確認操作

再次點擊按鈕以確認操作

阿波羅的戰車 2023-05-10 15:03:25
如何制作一個按鈕,當按下該按鈕時會顯示提示消息,要求用戶再次點擊按鈕以確認操作。這是我到目前為止所擁有的,    Button myExitClose = alertLayout.findViewById(R.id.homeExitClose);    ImageView myExitDismiss = alertLayout.findViewById(R.id.homeExitDismiss);    final LinearLayout adContainer = alertLayout.findViewById(R.id.homeExitAdView);    myExitClose.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            exitDialog.dismiss();            finish();        }    });    myExitDismiss.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            exitDialog.dismiss();        }    });    alert.setView(alertLayout);    alert.setCancelable(false);    exitDialog = alert.create();}
查看完整描述

4 回答

?
大話西游666

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 毫秒是兩秒,但也許您想要更長的窗口。


查看完整回答
反對 回復 2023-05-10
?
墨色風雨

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().


查看完整回答
反對 回復 2023-05-10
?
陪伴而非守候

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);


查看完整回答
反對 回復 2023-05-10
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

這是它的基本要點。Toast.maketext 采用上下文、字符串和持續時間。


myExitClose.setOnClickListener( (click) ->  {


        Toast.makeText(getActivity(), "StringRes", Toast.LENGTH_SHORT).show();  

    });

您還可以制作一個 Toast 對象并在顯示它之前操縱放置等。


查看完整回答
反對 回復 2023-05-10
  • 4 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號