3

一部のアプリケーション (Dolphin HD Browser など) は、次の機能を実装しています。

「戻る」を押すと、バック スタックに戻ります。最初のビュー/アクティビティ/フラグメントが表示されているときに「戻る」を押すと、Toast「終了するにはもう一度戻るを押してください」などのメッセージが表示されます。

この機能を実装するにはどうすればよいですか?

4

3 に答える 3

8

クラスのトップ:

  int count = 0; 

クラスの本体で:

public void onBackPressed() 
{
   if(count == 1)
   {
      count=0;
      finish();
   }
   else
   {
      Toast.makeText(getApplicationContext(), "Press Back again to quit.", Toast.LENGTH_SHORT).show();
      count++;
   }

    return;
}
于 2012-04-25T07:41:52.623 に答える
2

API レベル 1 の場合、アクティビティの

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

API レベル 5 以上については、Pieter888 の発言を参照してください。

于 2012-04-25T07:03:24.977 に答える
2

次のように戻るボタン イベントをキャッチします。

public void onBackPressed() 
{
    //Add your logic here
    return;
}

ここでフラグを作成して、最初の起動時にアプリケーションが閉じないようにします。最後に、アクティビティを呼び出してアクティビティを終了しますfinish();

トーストをすばやく表示するには、これを使用します。

Toast.makeText(this, "Press Back again to quit", Toast.LENGHT_SHORT).show();

アクティビティ クラスからこのコードを起動している場合。そうでない場合は、を使用する代わりに、アクティビティのコンテキストを取得してみてくださいthis

于 2012-04-25T07:00:36.060 に答える