2012-02-24 75 views
0

我有一個menu.java,並且在這個文件中我有代碼行以允許用戶按下菜單按鈕,並且「MENU1」和「MENU2」將出現在它們的Android手機。但是,我有多個Java類,每個Java類都是它自己的活動。我需要做的,使每個活動這個菜單類函數沒有把每行代碼在menu.java到對方的.javaAndroid開發:將「菜單」類傳遞給其他活動

這是我Menu.java

公共類菜單擴展活動{

 public boolean onCreateOptionsMenu(android.view.Menu menu){ 
      super.onCreateOptionsMenu(menu); 
      MenuInflater a = getMenuInflater(); 
      a.inflate(R.menu.main_menu, menu); 
      return true; 
     } 
     public boolean onOptionsItemSelected(MenuItem item){ 

      switch (item.getItemId()){ 
      case R.id.MENU1: 
       startActivity(new Intent("com.helloworld.test.MENU1")); 
       return true; 
      case R.id.MENU2: 
       startActivity(new Intent("com.helloworld.test.MENU2")); 
       return true; 

      } 
      return false; 
     } 
} 
+0

只是延長該菜單,而不是活性的所有活動。 – 2012-02-24 04:55:08

+0

好吧我已經有了公共類Menu extends Activity。所以如果我的其他類會有公共類OtherActivity擴展菜單,因爲我的菜單已經有這個活動在它的正確? – hellomello 2012-02-24 04:57:34

+0

是的,假設如果你想使用另一個菜單,那麼你只需要重寫你的活動中的菜單方法,只需簡單地擴展菜單類而不是Activity類並檢查自己。 – 2012-02-24 05:04:23

回答

0

您可以創建一個基礎的活動,您的所有其他活動延長:

public class BaseActivity extends Activity { 
    public boolean onCreateOptionsMenu(android.view.Menu menu){ 
     super.onCreateOptionsMenu(menu); 
     MenuInflater a = getMenuInflater(); 
     a.inflate(R.menu.main_menu, menu); 
     return true; 
    } 
    public boolean onOptionsItemSelected(MenuItem item){ 

     switch (item.getItemId()){ 
     case R.id.MENU1: 
      startActivity(new Intent("com.helloworld.test.MENU1")); 
      return true; 
     case R.id.MENU2: 
      startActivity(new Intent("com.helloworld.test.MENU2")); 
      return true; 

     } 
     return false; 
    } 
} 
相關問題