覆盖onBackPressed()没有响应

时间:2012-05-29 10:21:03

标签: android

我正在制作类似于'Diaro'应用和Android上的'MyDiary'应用的应用。

我的应用中的主要活动是DiaryActivity,它控制所有其他活动。按下添加按钮后,将打开一个新活动,用户在编辑文本字段中输入数据,按下后退按钮,项目将保存在数据库中并显示在列表中(列表是其中的一部分)主要活动)。

现在主要活动的问题是,按下后退按钮,应用程序而不是关闭,将控制权恢复到主要活动,只有这一次,最后一个条目不存在,也是只有现在如果再次出现后退按钮,应用程序才会关闭。

我认为可能的解决方案可能是覆盖onBackPressed()函数并在其中编写finish()函数,但这不起作用。

活动的代码在这里。

http://pastebin.com/ugMdVsbW

3 个答案:

答案 0 :(得分:1)

@Override
public void onBackPressed() {
        super.onBackPressed();
        finish();
}

无需撰写finish()

super.onBackPressed()将完成这项工作。

@Override
public void onBackPressed() {
    super.onBackPressed();
}

答案 1 :(得分:0)

我正在使用以下代码。试试这段代码

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event){ 

        if ((keyCode == KeyEvent.KEYCODE_BACK)) { //stop your music here
             // To exit application
                 finish();
        } 
        return super.onKeyDown(keyCode, event); 
    }

答案 2 :(得分:0)

我使用此代码并正常工作,

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

   return super.onKeyDown(keyCode, event);
}

public void back()
{
   startActivity(new Intent(this, Home.class));
}