2013-12-04 7 views
0

У меня есть код, где я должен начать другую Intent, чтобы открыть меню У меня есть следующий код:Как Ответить на MenuItem Нажмите

@Override 
    public boolean onMenuItemClick(MenuItem arg0) { 
     switch(arg0.getItemId()) 
     { 
     case R.id.action_settings: 
      Toast.makeText(this, "There are no Settings!", Toast.LENGTH_SHORT).show(); //added so the code is shorter 
     } 
     return false; 
    } 

Но когда я запускаю этот код, ничего не происходит. И когда я пытаюсь зарегистрироваться с помощью MenuItem. setOnMenuItemClick(OnMenuItemClickListener), приложение останавливается.

+1

«приложение останавливается» означает, что у вас, вероятно, есть ошибка в вашем LogCat, который точно скажет вам, что пошло не так. –

+1

вам необходимо переопределить onOptionsItemSelected (элемент MenuItem), чтобы обработать кнопку меню –

ответ

0

Я сначала попытался переопределить onMenuItemClick(MenuItem), что было неправильно, ответ был получен от комментария, размещенного здесь. Так вот ответ:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) 
    { 
     switch(item.getItemId()) 
     { 
     case R.id.action_settings: 
      Toast.makeText(this, "There are no Settings!", Toast.LENGTH_SHORT).show(); //added so the code is shorter 
     } 
     return false; 
    } 

Метод onOptionsItemSelected(MenuItem) имеет не быть перекрытым (без орудий, необходимых в определении класса).

Смежные вопросы