Android Back Arrow on Toolbar (AppCompatActivity) Android Back Arrow on Toolbar (AppCompatActivity) android android

Android Back Arrow on Toolbar (AppCompatActivity)


You can also just declare in the Manifest a ParentActivity with:<activity android:name=".ThisActivity" android:parentActivityName=".TheActivityThatCalledThisOne"> </activity>


I wonder why there's not a complete answer for this on SO, but finally I solved the matter on my own:

Use the following snippet to have back button on the toolbar in an AppCompatActivity:

        toolbar = (Toolbar) findViewById(R.id.hack_toolbar);        setSupportActionBar(toolbar);        getSupportActionBar().setDisplayHomeAsUpEnabled(true);        getSupportActionBar().setDisplayShowHomeEnabled(true);        toolbar.setNavigationOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                //do something you want            }        });


Update

      private lateinit var toolbar: Toolbar          override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        val binding = DataBindingUtil.setContentView<DetailActivityBinding>(          activity,          R.layout.detail_activity        )        toolbar = binding.toolbar        activity.setSupportActionBar(toolbar)        activity.supportActionBar!!.setDisplayShowHomeEnabled(true)        activity.supportActionBar!!.setDisplayHomeAsUpEnabled(true)      }

Original

 @BindView(R.id.toolbar) Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_user_events);    ButterKnife.bind(this);    setSupportActionBar(toolbar);    getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onSupportNavigateUp() {    onBackPressed();    return true; }

onSupportNavigateUp()This method is called whenever the user chooses to navigate Up within your application's activity hierarchy from the action bar.

onBackPressed();Take care of popping the fragment back stack or finishing the activity as appropriate.