Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android开发:将“菜单”类传递给其他活动_Java_Android_Android Activity_Android Intent - Fatal编程技术网

Java Android开发:将“菜单”类传递给其他活动

Java Android开发:将“菜单”类传递给其他活动,java,android,android-activity,android-intent,Java,Android,Android Activity,Android Intent,我有一个menu.java文件,在这个文件中我有几行代码,允许用户按下菜单按钮,MENU1和MENU2将出现在他们的android手机上。但是,我有多个java类,每个java类都是它自己的活动。我需要做什么才能让这个菜单类在每个活动中都起作用,而不需要将menu.java中的每一行代码都放到彼此的menu.java中呢 这是我的菜单 公共类菜单扩展活动{ public boolean onCreateOptionsMenu(android.view.Menu menu){

我有一个menu.java文件,在这个文件中我有几行代码,允许用户按下菜单按钮,MENU1和MENU2将出现在他们的android手机上。但是,我有多个java类,每个java类都是它自己的活动。我需要做什么才能让这个菜单类在每个活动中都起作用,而不需要将menu.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;
        }
}

您可以创建一个所有其他活动都可以扩展的基本活动:

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;
    }
}

只需在所有活动中扩展此菜单而不是活动。我已经有了公共类菜单扩展活动。因此,如果我的其他类将有公共类OtherActivity扩展菜单,因为我的菜单中已经有此活动,对吗?是的,假设您要使用另一个菜单,那么您只需覆盖m方法,只需扩展菜单类而不是活动类,然后检查自己。