选项菜单在第二个活动中保留

时间:2014-01-04 21:41:03

标签: android

单击按钮以使用此方法打开新活动:

setContentView(R.layout.activity_comunidades01);

第二个活动仍显示与上一个活动相同的菜单。

我已经使用serval方法将其修复为与此相关的方法:

Android: How to enable/disable option menu item on button click?

但我发现永远不会调用初始化和创建菜单的方法。我甚至试图跟随这个其他链接而没有成功:

onCreateOptionsMenu is never called

我甚至删除了此活动的menu.xml中的所有项目,但仍显示以前的活动选项。

我还澄清我使用android 4.4作为目标API,但是将10级作为最小值,因为将使用的某些设备正在运行android 2.3。

我的第二个活动是这样的:

  public class SecondActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_SecondActivity);

    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu){
        System.out.println("EN ON PREPARE OPTIONS MENU");
        (menu.findItem(R.id.sincronizar)).setEnabled(false);
        return super.onPrepareOptionsMenu(menu);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        System.out.println("EN ON CREATE OPTIONS MENU");
        getMenuInflater().inflate(R.menu.SecondActivity, menu);

        return true;
    }

}

2 个答案:

答案 0 :(得分:0)

  

单击按钮以使用此方法打开新活动:

     

的setContentView(R.layout.activity_comunidades01)

这不是你打开另一个活动的方式! 这样,您只需更改当前活动的内容,无其他。

按照Activity.startActivity()中的说明使用Activity.startActivityForResult()docs开始其他活动。

答案 1 :(得分:0)

要开始第二项活动,请使用:

Button bt = (Button)findViewById(R.id.bt);
bt.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View view) {
        Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
        startActivity(intent);
        //finish(); //if you want to close FirstActivity after showing SecondActivity
      }
 });