戻るボタンに、たとえば次のような動作をさせたい
// if I have an Item count > 1 and I'm not on ItemsListActivity
// back button takes me to ItemsListActivity
// else
// back button behaves like normal
これは可能ですか?もしそうなら、私は何をする必要がありますか?
戻るボタンに、たとえば次のような動作をさせたい
// if I have an Item count > 1 and I'm not on ItemsListActivity
// back button takes me to ItemsListActivity
// else
// back button behaves like normal
これは可能ですか?もしそうなら、私は何をする必要がありますか?
はい。
オーバーライドonBackPressed()
( http://developer.android.com/reference/android/app/Activity.html#onBackPressed() )
ユーザーが戻るキーを押したことをアクティビティが検出したときに呼び出されます。デフォルトの実装は単に現在のアクティビティを終了しますが、これをオーバーライドして、必要なことを行うことができます。
したがって、次のようなことができます。
@Override
public void onBackPressed(){
if (count > 1) && (!(this instanceof ItemsListActivity)) {
// Launch ItemsListActivity / do whatever you want
}
else {
super.onBackPressed(); // Do the normal back press functionality
}
}
現在のアクティビティを確認するには、おそらくもっと良い方法があります。