redev

technical miscellaneous memorandum

ActionBarのAppIconNavigationで「戻る」操作

AppIconに「<」マークを付ける

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
              :
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }

タップイベントを取得

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                //ActionBarのAppIconがタップされた場合
                Intent intent = new Intent(this, MainActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
  • AppIconにはandroid.R.id.homeというリソースIDが割り振られる
  • Intent.FLAG_ACTIVITY_CLEAR_TOP でActivityスタックをクリアする