我们能为不同的活动

问题描述:

建立在Android的一类常见的onOptionsItemSelected(菜单项项)

注: 类ProcessingOptionMenu将没有自己的布局。 没有布局的类可以开始像下面 类ProcessingOptionMenu开始新的活动SettingABC我们能为不同的活动

活动A { ..

 public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.second_menu, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     ProcessingOptionMenu objectMenu= new ProcessingOptionMenu(); 
     boolean resultReturn=objectMenu.identifyItem(item); 
     } 
       .. 
} 

Activity B { 
       .. 

     public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.second_menu, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     ProcessingOptionMenu objectMenu= new ProcessingOptionMenu(); 
     boolean resultReturn=objectMenu.identifyItem(item); 
     } 
      .. 
} 


class ProcessingOptionMenu extends Activity { 
    public boolean identifyItem(MenuItem item) { 
      if (item.getItemId() == R.id.settingapp) { 
     Intent intentAppSetting = new Intent(ProcessingOptionMenu.this,      SettingABC.class); 
      startActivity(intentAppSetting); 
      return true; 
     } 
     return false; 
     } 
} 

为什么你需要从活动延伸类的另一项活动?只需编写一个方法来处理点击事件并在其中激发新的活动。如果你愿意,你可以把这个方法在父类中,让你的活动A和B从其扩展。

+0

我想逻辑部分来自中的所有活动 – 2013-04-04 09:46:19

+0

分开然后你就可以有一个单独的类,传递上下文给它,以后你可以使用传入的背景下,开始新的活动。仍然不需要从Activity扩展。 – topduo 2013-04-05 01:38:10