2013-10-13 77 views
2

我使用ActionBarCompat爲API 11下的設備製作了一個操作欄。 它工作的很好,很容易設置,但我被卡住了。從Item(ActionBar)開始一個活動?

我在操作欄上有一些項目,它看起來不錯。 有些項目位於三個點(ifRoom)之後,有些項目始終可以看到。

當您點擊這些項目中的某一個以使其開始一個新的活動時,我該怎麼做? 我試着用switch/case和其他方法,但沒有工作從一個活動發送到另一個通過項目。我知道如何從按鈕,圖像按鈕發送到另一個活動,但不是從項目。

我main.xml中看起來是這樣的:

<item 
    android:id="@+id/add" 
    android:title="Lägg till" 
    android:icon="@drawable/new"  
    android:orderInCategory="1" 
    budsnabben:showAsAction="always"/> 

而且在MainActivity的代碼如下所示:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
    case R.id.: 
     Intent intent = new Intent(this, MapActivity.class); 
     this.startActivity(intent); 
     break; 
    case R.id.menu_item2: 
     // another startActivity, this is for item with id "menu_item2" 
     break; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 

    return true; 
} 

}

的問題是個案R.id .. ..後,我沒有得到我的班級地圖或主要的,它不在那裏。

謝謝。

SOLUTION:

只是想謝謝你傑拉德。

我在strings.xml中創建了新的字符串。 在那之後,我沒有改變標題在我main.xml中這樣:

android:title="@string/add"

我沒有硬編碼該行像以前一樣,因此它沒有工作,我認爲:

android:title="@+id/add"

再次感謝您。

+0

很高興我能幫忙,祝你好運! – Gerard

回答

2

在您的活動中使用操作欄使用public boolean onOptionsItemSelected(MenuItem item) { ... },並使用菜單佈局中的ID創建與item.getItemId()匹配的開關案例。之後,創建一個適當的意圖就像你在一個普通的按鈕上。

+0

嗨。 我試過了,在我的文章上編輯過,所以你可以看到。 – DMT82

+0

請添加操作欄佈局,您的ID聲明中可能有錯誤 – Gerard