11

当我按下主页按钮时,它不会像我想的那样返回。

public class TotalOverview extends SherlockActivity {

public void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.Theme_Sherlock);       
    super.onCreate(savedInstanceState);         
    //requestWindowFeature(Window.FEATURE_PROGRESS);  

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
    setContentView(R.layout.main); 
    //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);

}

我也尝试用这种方法捕捉它

public boolean onOptionsItemSelected(MenuItem item)
{
    boolean toReturn = false;
    int id = item.getItemId();  
    if( id == R.id.abs__home)
    {
        toReturn = true;
    }
    return toReturn;
}

但这不起作用我确实使用了这种方法,但 id 与 R.id.abs__home 的 id 不同。那么我怎样才能让它工作。

我使用的模拟器有 android 版本 2.3.1。对于其余的一切,来自 actionbarsherlock 的工作都像预期的那样。

蓝色块是我单击的按钮,单击后我想返回。 在此处输入图像描述

4

2 回答 2

43

用于android.R.id.home检测家庭可供性,而不是R.id.abs__home. 例如,从这个示例项目中,使用 ABS 4.0.2:

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case android.R.id.home:
        pager.setCurrentItem(0, false);
        return(true);

    // more code here for other cases
  }
于 2012-05-04T13:13:14.103 回答
1

这是错误,这里报告了https://groups.google.com/forum/?fromgroups=#!topic/actionbarsherlock/dsZr7z4_xvU

于 2013-02-26T15:51:02.360 回答