Кнопка возврата в 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 - это не тот же идентификатор
как R.id.abs__home. Итак, как я могу заставить это работать.
Эмулятор, который я использую, имеет версию 2.3 для Android. В остальном все, начиная с
actionbarsherlock работает, как и ожидалось.
Синий блок - это кнопка, которую я нажимаю, и нажатием на нее я хочу перейти назад.
![enter image description here]()
Ответы
Ответ 1
Используйте 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
}
Ответ 2
это ошибка, и здесь было сообщено https://groups.google.com/forum/?fromgroups=#!topic/actionbarsherlock/dsZr7z4_xvU