2010-12-28 5 views
1

ユーザーが1つのアクティビティから別のアクティビティに移動した後、またはその逆に移動した後で、アプリケーションで発生します。イベント "onClick"でインテントを使ってアクティビティを呼び出すアプリケーションを終了するにはどこでfinish()を使うべきですか?

public void onClick(DialogInterface dialog, int whichButton) { 
        Intent intent = new Intent(); 
        intent.setClass(Field.this,Boll.class); 
        startActivity(intent); 
        finish(); 
       } 

戻るボタンを押したときにアプリケーションを使用した後、アプリケーションは終了し、ホーム画面に戻る必要があります。

私のアプリで起こっていることは、[戻る]ボタンをクリックするとアクティビティがまだスタック内にあり、1つずつ(前の状態に)トレースされ、最終的にホーム画面に戻ります。

私はfrom here

は、私は最後まで、すなわち(スタック内のすべての活動をfinshし、ホーム画面に戻って行くためにfinish()を追加する必要がどこ私に知らせてください、Androidがアプリケーションを終了するの面倒をすることを学びましたアプリケーション)。

答えて

7

あなたは、あなたが手動でスタックを扱うべきではありません

http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

あなたの活動にnoHistory属性を追加してみてください。アプリケーション内のすべてのアクティビティを「終了」する方法はありません。 Androidは、中断したところからアプリケーションを選択するように設計されています。現在のアクティビティを閉じるのではなく、アプリの「戻る」ボタンを閉じると、ユーザーにとって非常に混乱し、不愉快になることがあります。

+1

合意。 Webアプリケーションでは、ほとんどの普通の人々が何か他のものを訪れたいときにHOMEボタンをクリックするか、ブックマークを表示したりURLを入力したりして特別な助けを必要としません。 Androidはほぼ同じように動作します。ユーザーはHOMEボタンを押し、HOMEボタンを長押しし、「通知」などをクリックして、実行したいものに移動します。 – CommonsWare

+0

マニフェストファイルでこのタグを使用しました。出来た。手伝ってくれてありがとう – GamDroid

関連する問題