2013-11-26 3 views
1

Я хочу добавить новую кнопку в ActionBar. Когда я нажимаю на него, он выполняет определенное действие. Поэтому я не хочу кнопку, которая после нажатия открывает подменю (например, классическое 3-точечное меню).Как добавить действие после нажатия кнопки ActionBar?

Я создал новую кнопку, это:

<item android:id="@+id/action_refresh" 
     android:icon="@drawable/refresh" 
     android:title="@string/refresh_string" 
     android:showAsAction="always"/> 

и это показано на ActionBar, но если я нажимаю его, естественно, ничего не делает.

Как я могу получить действие, просто нажимая его?

Спасибо!

ответ

3

вам нужно overrideonOptionsItemSelected

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle item selection 
     switch (item.getItemId()) { 
     case R.id.action_refresh: 
      //do your stuff 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
     } 
    } 
+0

Большое спасибо матовые! :) – Pipodi

0

же как Homo sapiens ответ «s, но с IF-структуры.

Добавить этот метод в классе активность:

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    if (item.getItemId() == R.id.action_refresh) 
    { 
     // do your stuff 
     return true; 
    } 

    else if (item.getItemId() == R.id.otherItem) 
    { 
     // do other stuff 
     return true; 
    } 

    // ... 

    else 
    { 
     return super.onOptionsItemSelected(item); 
    } 
} 
Смежные вопросы