Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用户能够';除非他们按一下按钮,否则我不能回去_Android_Mysql_Button_Android Edittext_Back Button - Fatal编程技术网

Android 如何使用户能够';除非他们按一下按钮,否则我不能回去

Android 如何使用户能够';除非他们按一下按钮,否则我不能回去,android,mysql,button,android-edittext,back-button,Android,Mysql,Button,Android Edittext,Back Button,所以我要做的是让用户在没有点击“保存”按钮的情况下无法返回到上一个活动。我只是不知道如何实现后退按钮异常之类的东西。我之所以想这样做,是因为当他们单击后退按钮时,他们输入信息的编辑文本仍保存在sql数据库中。这是我的按钮代码 saveItemButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { if (isEmpty(mTitleText)) {

所以我要做的是让用户在没有点击“保存”按钮的情况下无法返回到上一个活动。我只是不知道如何实现后退按钮异常之类的东西。我之所以想这样做,是因为当他们单击后退按钮时,他们输入信息的编辑文本仍保存在sql数据库中。这是我的按钮代码

saveItemButton.setOnClickListener(new View.OnClickListener() {
  public void onClick(View view) {
    if (isEmpty(mTitleText)) {
        mTitleText.getText().toString();
      makeToast();
    } else {
      setResult(RESULT_OK);
      finish();
    }
  }
});

用户始终可以按Home(主页)按钮离开。你对此无能为力。如果仍要禁用后退按钮,请在活动中覆盖
onBackPressed()
,不要调用
super.onBackPressed()

,您应该覆盖onBackPressed()

@凌驾 public void onBackPressed(){

//这是你的


}

我认为你应该重新考虑你的方法。为什么不在用户按下保存按钮后才保存到数据库?这样,如果用户按下back键,您只需取消插入。如果用户想保存,你不能阻止他/她不保存就离开你的活动。问题是我正在使用一个教程数据库,因为我对数据库非常陌生,而这个数据库只是在你键入时保存所有内容,我发现这是他们的一个bug。我似乎无法修复它@Ricardo你能把保存部分的代码放在这里吗?@Ricardo为什么不把saveState()调用移到save按钮的onClick()上?