猿问

再次点击按钮以确认操作

如何制作一个按钮,当按下该按钮时会显示提示消息,要求用户再次点击按钮以确认操作。这是我到目前为止所拥有的,


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

}


阿波罗的战车
浏览 172回答 4
4回答

大话西游666

按下按钮时,记录按下的时间戳。如果再次按下按钮,将新时间戳与旧时间戳进行比较,如果两次按下的时间足够接近,则执行特殊操作。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 毫秒是两秒,但也许您想要更长的窗口。

墨色风雨

如何在定义的时间间隔内双击后退退出应用程序的示例:private long backPressed;private static final int TIME_INTERVAL = 2000;@Overridepublic 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().

陪伴而非守候

使用处理程序来安排设置按钮操作,如下所示: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);

不负相思意

这是它的基本要点。Toast.maketext 采用上下文、字符串和持续时间。myExitClose.setOnClickListener( (click) ->  {        Toast.makeText(getActivity(), "StringRes", Toast.LENGTH_SHORT).show();      });您还可以制作一个 Toast 对象并在显示它之前操纵放置等。
随时随地看视频慕课网APP

相关分类

Java
我要回答