0

我正在尝试使用菜单按钮将用户发送到新活动,然后再返回。把它放到上下文中,我有一个基本的计算器,它在应用程序打开时运行(现在工作完美),然后我希望用户点击他/她手机上的菜单按钮,(两个按钮应该弹出 Home 和 Tip Calculator) 当用户点击小费计算器时,它应该加载新的活动 TipCalculator。然后,如果再次按下菜单按钮,将出现相同的两个选项,并且主页按钮应将它们带回基本计算器。

这是我的 Calculator.java 代码

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_calculator, menu);

        menu.add(Menu.NONE,HOME_MENU_ID,Menu.NONE,"Home");
        menu.add(Menu.NONE,SECOND_MENU_ID,Menu.NONE,"Tip Calculator");
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub

        switch(item.getItemId()){

        case HOME_MENU_ID:
            Intent main = new Intent(this,Calculator.class);
            startActivity(main);
            finish();
        return true;

        case SECOND_MENU_ID:
            Intent second = new Intent(this,TipCalculator.class);
            startActivity(second);
            finish();
        return true;

        }

        return super.onOptionsItemSelected(item);
    }

这是 TipCalculator.java 的代码

    public class TipCalculator extends Calculator{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tipcalculator);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_tipcalculator, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    Intent main = new Intent(this,Calculator.class);
    startActivity(main);
    finish();
    return super.onOptionsItemSelected(item);
}

}

菜单很好,主页按钮将刷新主页,但提示计算器按钮给我一个强制关闭错误并在我身上崩溃。

4

0 回答 0