分2个activity当然可以,我就是想知道如果只用一个activity能实现吗

解决方案 »

  1.   

    应该可以要看你在什么时候去调这个函数了,切换activity的时候会自动调用,因为你没有切换所以应该主动去调,没试过主动去调,你试一试吧,在你setContentView以后
     @Override 
        public boolean onCreateOptionsMenu(Menu menu) {
            super.onCreateOptionsMenu(menu);
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.mainmenu, menu);     //这里的R.menu.mainmenu换一下就行了
            return true;
        }
      

  2.   

    你是指这样吗?reg.setOnClickListener(new OnClickListener(){
             public void onClick(View v){
             setContentView(R.layout.regist);        
                    @Override 
                    public boolean onCreateOptionsMenu(Menu menu) { 
                        super.onCreateOptionsMenu(menu); 
                        MenuInflater inflater = getMenuInflater(); 
                        inflater.inflate(R.menu.mainmenu, menu);    //这里的R.menu.mainmenu换一下就行了 
                        return true; 
                    }
             }
            });
    括号那地方报错,你这相当于在方法里面定义方法,不行吧?方法里面应该只能调用方法吧?
      

  3.   

    我是说的调用, onCreateOptionsMenu只定义一个,但是里面要做逻辑判断,不同的页面load不同的menu
      

  4.   

    很明显用2个activity来做才是一般的解决办法如果一定要用一个activity,可以在setContentView之后设个标志,然后在onCreateOptionsMenu里面根据标志来inflate相应的界面就OK了,个人不推荐这种做法,呵呵