如何在单击ActionBar的按钮后添加动作?

时间:2013-11-26 19:41:37

标签: android button onclick android-actionbar action

我想在ActionBar中添加一个新按钮。当我单击它时,它会执行特定的操作。所以我不想要一个按下按钮后打开一个子菜单(如经典的三点菜单)。

我创建了一个新按钮,这个:

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

并且它显示在ActionBar上,但如果我点击它,当然,它什么都不做。

如何按下它来设法获取动作?

谢谢!

2 个答案:

答案 0 :(得分:3)

您需要override onOptionsItemSelected

 @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);
        }
    }

答案 1 :(得分:0)

Homo sapiens的回答相同,但是使用了if-structure。

将此方法添加到您的Activity类:

@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);
   }
}