在用户通过在主屏幕上向右滑动退出应用程序之前,我们可以在 Android Wear 上添加一个确认屏幕,如果是,如何?

问题描述

我正在使用此链接 1 来检测我的主要活动上的向右滑动,并使用此链接 2 将警报构建器放入事件处理程序中。

链接 1:Android: How to handle right to left swipe gestures

链接 2:How can I put "Are you sure you want to exit?" when I press back button android

但我收到一个错误

E/WindowManager: android.view.WindowLeaked: Activity de.dfki.av.mhs.peripheralwatch.MainActivity has leaked window DecorView@334a170[MainActivity] that was originally added here

如何在用户退出应用前为其添加确认屏幕?

解决方法

如果您遵循了这些步骤,那么您已经实现了 Activity 的 onbackpressed,但请注意不要在 dialog.show() 之前调用 super.onbackpressed。

还要确保在单击对话框的按钮而不是 onbackpress 时调用 finish()。

错误是说您在退出活动后显示对话框。

@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
       .setMessage("Are you sure you want to exit?")
       .setCancelable(false)
       .setPositiveButton("Yes",new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog,int id) {
                ExampleActivity.this.finish();
           }
       })
       .setNegativeButton("No",null)
       .show();

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...