メニューボタンを使用してユーザーを新しいアクティビティに送り、もう一度戻そうとしています。コンテキストに入れると、アプリを開いたときに実行される基本的な計算機があり (現在は完全に機能します)、ユーザーに携帯電話のメニュー ボタンを押してもらいます (2 つのボタンが [ホーム] と [ヒント] をポップアップする必要があります)。 Calculator) ユーザーがチップ計算機を押すと、新しいアクティビティ TipCalculator をロードする必要があります。その後、メニュー ボタンをもう一度押すと、同じ 2 つのオプションが表示され、ホーム ボタンを押すと基本的な電卓に戻ります。
これは 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);
}
}
メニューは正常に表示され、ホーム ボタンでホームページが更新されますが、チップ計算ボタンを押すと強制終了エラーが発生し、クラッシュします。