相关疑难解决方法(0)

Android:按下后退按钮时提示用户保存更改

我有一个活动,其中包含几个用户可编辑的项目(EditText字段,RatingBar等).如果按下后退/主页按钮并且已经进行了尚未保存的更改,我想提示用户.通过阅读android文档后,似乎这段代码应该放在onPause方法中.我已经尝试在onPause中放置一个AlertDialog,但是对话框会显示出来,然后立即关闭,因为没有任何东西阻止暂停完成.

这是我到目前为止所提出的:

@Override
protected void onPause() {
    super.onPause();

    AlertDialog ad = new AlertDialog.Builder(this).setMessage(
            R.string.rating_exit_message).setTitle(
            R.string.rating_exit_title).setCancelable(false)
            .setPositiveButton(android.R.string.ok,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                int whichButton) {
                            // User selects OK, save changes to db
                        }
                    }).setNeutralButton(android.R.string.cancel,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                int whichButton) {
                            // User selects Cancel, discard all changes
                        }
                    }).show();
}
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道还是有另一种方式来完成我在这里要做的事情?任何帮助都会很棒!

java android

34
推荐指数
2
解决办法
4万
查看次数

onBackPressed隐藏不破坏活动

我知道如何取消后退按键,以便活动/主窗口保持可见:

public void onBackPressed() {
    return;             
}
Run Code Online (Sandbox Code Playgroud)

我的目的是隐藏活动,但是,如果没有完成它,你如何在onBackPressed事件中做到这一点?

即我想获得onPause(),但不会唤起onBackPressed()默认行为,本质上调用finish().另一种说法是我想模仿onUserLeaveHint()?

任何帮助赞赏!

android

22
推荐指数
3
解决办法
3万
查看次数

如何让一个活动从BACK键停止,而不是被销毁?

现在,当按下BACK键时,活动会被破坏.我怎样才能让它停止(即保持所有变量等等),而不是被销毁?

谢谢!

android

16
推荐指数
3
解决办法
1万
查看次数

覆盖home和back按钮是boolean为true的情况

我想知道我是否可以覆盖背部和主页按钮的动作是一些情况.通常这些按钮应该像往常一样反应,但在某些情况下,某些设置为真,我想覆盖按钮并让它们调用我自己的方法.

我使用这两种方法来覆盖这些按钮:

  @Override
  public void onBackPressed() {    
  // call my backbutton pressed method when boolean==true
    }

  @Override
  public void onAttachedToWindow()    {                                                                                       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);    
   super.onAttachedToWindow(); 
   // call my homebutton pressed method when boolean==true
   }
Run Code Online (Sandbox Code Playgroud)

android overriding button back-button

10
推荐指数
1
解决办法
2万
查看次数

如何在 Kotlin 中处理背压

我的应用程序只有两个基本活动和几个片段,我想在用户通过单击返回按到达特定基本片段时显示退出警报

override fun onBackPressed() {
        if (drawer_layout.isDrawerOpen(GravityCompat.START)) {
          drawer_layout.closeDrawer(GravityCompat.START)

        } else {
         // super.onBackPressed()
            AlertDialog.Builder(this)
                .setTitle("Exit Alert")
                .setMessage("Do You Want To Exit Petals App?")
                .setPositiveButton(android.R.string.ok) { dialog, whichButton ->
                    super.onBackPressed()
                }
                .setNegativeButton(android.R.string.cancel) { dialog, whichButton ->

                }
                .show()

        } 
Run Code Online (Sandbox Code Playgroud)

我在每个片段上都使用了 addtosatck

android kotlin

4
推荐指数
1
解决办法
5373
查看次数

如何在Android设备上检测硬/软后退按钮?

我想知道如何"BACK Button"在设备上检测硬盘或软盘?我搜索了但大多数时候我发现了这段代码

   @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        // do something on back.
        return true;
    }

    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

但我只需要检测设备上是否存在BACK按钮,或者不是硬或软的形式.

android back-button back-button-control

3
推荐指数
1
解决办法
4034
查看次数

如何覆盖背压以留下活动?

如何在背面按下以进入主发射器或退出应用程序?但不是杀了它

android

1
推荐指数
1
解决办法
5082
查看次数

后退按钮就像家一样

是否可以更改此代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

    }
    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

所以,当我点击后退按钮时,它就像一个主页按钮?

android

0
推荐指数
1
解决办法
2540
查看次数