2013-11-22 4 views
0

Я в активность только с этими методами:Android: onBackPressed() не работает?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_week); 

    getActionBar().setDisplayHomeAsUpEnabled(true); 
} 

, который показывает Carette в панели действий и

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    finish(); 
} 

«Couse Я хочу закончить(); это действие после нажатия символа каретки. Но ничего не происходит, когда я нажимаю кнопку пальцем. Что не так?

+0

оставить только строку: 'отделка(); 'onBackPressed() –

ответ

5

Если вы хотите, чтобы закончить свою деятельность при нажатии кнопки назад панели опций щелкнул вам нужно добавить следующий код.

@Override 
    public boolean onOptionsItemSelected(MenuItem item) 
    { 
     switch (item.getItemId()) 
     { 
     case android.R.id.home: 
      finish(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
     } 
    } 

Аппаратное обеспечение будет работать по умолчанию. Вы можете удалить

onBackPressed()

метод или редактировать как как этот

@Override 
public void onBackPressed() { 
     finish(); 
} 
0

заявление: this.finish() достаточно, чтобы сделать это ..

Вы можете удалить этот один: super.onBackPressed();

2

Используйте это:

@Override 
public void onBackPressed() { 
     finish(); 
} 
Смежные вопросы