Android开发:将“menu”类传递给其他活动

时间:2012-02-24 04:32:07

标签: java android android-activity android-intent

我有一个menu.java,在这个文件中我有一行代码允许用户按下菜单按钮,“MENU1”和“MENU2”将出现在他们的Android手机上。但是,我有多个java类,每个java类都有自己的活动。我需要做什么才能在每个活动中使用此菜单类函数,而无需将menu.java中的每一行代码放入彼此.java

这是我的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;
        }
}

1 个答案:

答案 0 :(得分: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;
    }
}