2012-05-04 123 views
11

当我按下home按钮时,它不会像我想的那样返回。Actionbarsherlock后退按钮不会返回

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是不一样的ID 的R.id.abs__home 。所以我怎么才能让这个工作。

我使用的模拟器有android版本2.3.1。其余所有从 actionbarsherlock像预期一样工作。

蓝色块是我点击的按钮,点击我想要导航回来。 enter image description here

回答

43

使用android.R.id.home来检测家庭的可供性,而不是R.id.abs__home。例如,从this sample project,采用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 
    } 
+2

报道尝试过,但它并没有帮助,但感谢的努力。 – mariomario

+0

@mariomario:它适合我。查看更新的答案。 – CommonsWare

+0

好吧我现在明白了,现在我只需要将它发送给上一个操作即可。那谢谢啦。 – mariomario

相关问题