2011-11-25 75 views
2

我是Java和Android開發的新手,我嘗試使用事件處理程序進行菜單操作。我沒有問題在xml中設置菜單,但現在我很困惑如何使用處理程序。Android菜單監聽器

我使用

onOptionsItemSelected(MenuItem item) 

,我只知道如何創建新的活動,如:

startActivity(new Intent(this,About.class)) 

我見過很多教程,但他們都專注於按鍵,我試圖和失敗。 另外,我可以在不同的類中使用方法來更好地組織我的代碼嗎? 例如有method1.java,method2.java,method3.java,....並實例化這些類以調用方法。

如果有幫助,我想要做的是使用OpenGL,並允許用戶能夠旋轉,翻譯,調整大小等,這取決於所選的菜單選項。

編輯:我想爲我的程序使用狀態,並且只能使用爲給定狀態定義的處理程序。

回答

3

在菜單的XML文件,每個項目都有一個ID,例如...

<item 
    android:id="@+id/reset" 
    android:title="@string/gla_menu_title_reset" /> 

在你onOptionsItemSelected(MenuItem item)處理程序,你需要獲得傳入的物品的ID,然後對其進行處理。這樣做的一個簡單方法是使用一個開關/箱...

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.reset: 
      // Do something 
      return true; 
     case R.id.something_else: 
      ... 
      return true; 
    } 
} 

而且,是的,你可以在Android中創建標準的Java類。

+0

是的,我做了這部分。令人困惑的部分是每種情況下會發生的事情。我試圖實現的是每種情況都切換到不同的狀態。每個狀態都有自己的一套方法和事件處理程序。 – drum