Android 如何检查是否单击了ActionBarSherlock的后退按钮?

Android 如何检查是否单击了ActionBarSherlock的后退按钮?,android,actionbarsherlock,Android,Actionbarsherlock,我正在使用库ActionBarSherlock,并放置一个属性为android:showAsAction=“ifRoom | collapseActionView”的项。如何检查是否单击了ActionBarSherlock的后退按钮?谢谢 您必须覆盖 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home:

我正在使用库ActionBarSherlock,并放置一个属性为android:showAsAction=“ifRoom | collapseActionView”的项。如何检查是否单击了ActionBarSherlock的后退按钮?谢谢

您必须覆盖

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:

    }
    return true;    
}
从文档:

只要选择了选项菜单中的一项,就会调用他的钩子。 默认实现只是返回false,以获得正常值 处理发生(调用项目的Runnable或向发送消息) 它的处理程序(视情况而定)。您可以将此方法用于的任何项目 您希望在没有其他设施的情况下进行处理

以上答案有效(谢谢)。但是对于我的代码来说,这个解决方案效果最好

@Override
public boolean onOptionsItemSelected(
        com.actionbarsherlock.view.MenuItem item) {

    item.setOnActionExpandListener(new OnActionExpandListener() {

        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
                            // running changes ...
            return true;
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {

            //  running changes ...

            return true;
        }
    });

    return super.onOptionsItemSelected(item);
};