2012-02-24 3 views
0

У меня есть menu.java, и в этом файле у меня есть строки кодов, которые позволяют пользователю нажимать кнопку меню, и на них появятся «MENU1» и «MENU2». Телефон на Андроиде. Тем не менее, у меня есть несколько классов java, и каждый класс java - это его собственная деятельность. Что мне нужно сделать, чтобы иметь этот класс меню функции в каждой деятельности, не помещая каждую строку коды в menu.java друг в друг .javaРазработка Android: передача класса «меню» в другую деятельность

Это мой 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

просто расширить это меню, а не активность во всех делах. –

+0

Ну, у меня уже есть открытый класс Меню extends Activity. поэтому, если мои другие классы будут иметь открытый класс, то OtherActivity расширяет меню, потому что в моем меню уже будет эта деятельность корректной? – hellomello

+0

да и предположим, что если вы хотите использовать другое меню, просто вам придется переопределить методы меню в своей деятельности, просто просто расширьте класс меню вместо класса Activity и проверьте себя. –

ответ

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; 
    } 
} 
Смежные вопросы