0

私はAndroidの「Diaro」アプリと「MyDiary」アプリに似たアプリに取り組んでいました。

私のアプリの主なアクティビティは、他のすべてのアクティビティを制御するDiaryActivityです。追加ボタンを押すと、新しいアクティビティが開き、ユーザーは編集テキストフィールドにデータを入力します。戻るボタンを押すと、アイテムがデータベースに保存され、リストに表示されます(リストは主な活動)。

現在、メインアクティビティの問題は、戻るボタンを押すと、アプリケーションがシャットダウンする代わりに、コントロールをメインアクティビティに戻すことです。今回だけ、最後に作成されたエントリが存在しません。戻るボタンが再び表示されると、アプリケーションがシャットダウンします。

考えられる解決策は、onBackPressed()関数をオーバーライドし、その中にfinish()関数を書き込むことであると思いましたが、それは機能しませんでした。

アクティビティのコードはこちらです。

http://pastebin.com/ugMdVsbW

4

3 に答える 3

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

書く必要はありませんfinish()

super.onBackPressed()仕事をします。

@Override
public void onBackPressed() {
    super.onBackPressed();
}
于 2012-05-29T10:23:06.503 に答える
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));
}
于 2012-05-29T10:52:41.850 に答える
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); 
    }
于 2012-05-29T10:30:19.607 に答える