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

时间:2013-07-18 10:38:58

标签: android actionbarsherlock

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

2 个答案:

答案 0 :(得分:0)

你必须覆盖

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

    }
    return true;    
}

来自doc:

  只要选择了选项菜单中的项目,就会调用他的钩子。   默认实现只返回false以使其正常   处理发生(调用项目的Runnable或发送消息到   适当的处理程序)。您可以将此方法用于任何项目   你想在没有其他设施的情况下进行处理。

答案 1 :(得分:0)

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

@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);
};