###前提・実現したいこと
ここに質問したいことを詳細に書いてください
メニューを作成表示し、選択に応じた対応を行う2つのメソッドを持つクラスを作り、それらを呼び出す機能を実装中に以下のエラーメッセージが発生しました。
###発生している問題・エラーメッセージ
onCreateOptionsMenu(Menu)in Activity cannot be applied to 0 onOptionsItemSelected(MenuItem)in Activity cannot be applied to 0
###該当のソースコード
```package com.example.myapplicationbotton; import java.io.IOException; import java.util.*; import android.app.*; import android.content.*; import android.os.*; import android.os.Bundle; import android.support.v7.app.*; import android.support.v7.app.ActionBar; import android.view.Menu; import android.view.MenuItem; import android.widget.TableLayout; import android.widget.TextView; public class stage extends AppCompatActivity { //敵とバトルします //必要な値の定義 TextView tv1; TextView tv2; int myhp = 20; int myap = 4; int ehp = 10; int eap = 2; public void onCreate(Bundle savedInstanceState) { //画面のレイアウト super.onCreate(savedInstanceState); TableLayout t1 = new TableLayout(this); setContentView(t1); tv1 = new TextView(this); tv1.setText("うりぼー"); tv2 = new TextView(this); tv2.setText("あなたは私の洗礼を受けるのよ!"); t1.addView(tv1); t1.addView(tv2); battle b = new battle(); while((myhp<=0)||(ehp<=0)){ b.onCreateOptionsMenu(super.onCreateOptionsMenu()); b.onOptionsItemSelected(super.onOptionsItemSelected()); } } } //この下の二つのメソッドを持つクラスを回したいです。 class battle extends AppCompatActivity{ public boolean onCreateOptionsMenu(Menu menu) { //コマンドのメニューを表示 menu.add(Menu.NONE, 0, 0, "戦う"); menu.add(Menu.NONE, 1, 1, "魔法"); menu.add(Menu.NONE, 2, 2, "道具"); return super.onCreateOptionsMenu(menu); } public boolean onOptionsItemSelected(MenuItem mi) { //メニューの選択に対するアクション TextView tv1; TextView tv2; tv2 = new TextView(this); int myhp = 20; int myap = 4; int ehp = 10; int eap = 2; String str = null; switch (mi.getItemId()) { case 0: str = "戦う"; tv2.setText("うりぼーに" +myap+ "のダメージを与えた." + "うりぼーから" +eap+ "のダメージを受けた。"); ehp = ehp - myap; myhp = myhp - eap; break; case 1: str = "魔法"; tv2.setText("うりぼーに" +myap+ "のダメージを与えた." + "うりぼーから" + eap+"のダメージを受けた。"); ehp = ehp - 5; myhp = myhp - eap; break; case 2: str = "道具"; tv2.setText("うりぼーに餌を与えた." + "うりぼーは" +myap+ "回復した."); ehp = ehp + 4; break; } tv2.setText(str + "を選択した。"); return true; } } ###試したこと 引数が問題であることは分かっているのですが、実力に見合わない文に挑んでいることと、引数の基本的知識がないことで、何を入れたらいいのかさっぱりです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/17 11:41
2017/07/17 11:55
2017/07/17 12:39
2017/07/17 12:40
2017/07/17 12:52
2017/07/17 15:06