How can I implement a custom onClickListener
for the Home button of the Action Bar?
I already did a getSupportActionBar().setDisplayHomeAsUpEnabled(true);
and now I want to redirect the user to a certain activity in case the Home button is clicked.
I tried with:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
Intent i = new Intent();
i.setClass(BestemmingActivity.this, StartActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
return true;
}
});
default:
return super.onOptionsItemSelected(item);
}
}
but it never enters in the onMenuItemClick
.
Basically, it's done just like in this link but still it doesn't enter in the listener.
if anyone else need the solution
You need to explicitly enable the home action if running on ICS. From the docs:
answers in half part of what is happening. if
onOptionsItemSelected
not controlhomeAsUp
button when parent activity sets in manifest.xml system goes to parent activity. use like this in activity tag:if we use the system given action bar following code works fine
you should to delete your the Override onOptionsItemSelected and replate your onCreateOptionsMenu with this code
I use the actionBarSherlock, after we set
supportActionBar.setHomeButtonEnabled(true);
we can override the onMenuItemSelected method:
I hope this work for you ~~~ good luck