電卓アプリを作っています。定義されていないメソットのエラーが出ました。
Java
1import android.os.Bundle; 2import android.app.Activity; 3import android.util.Log; 4import android.view.Menu; 5import android.view.MenuItem; 6import android.view.View; 7import android.view.View.OnClickListener; 8import android.widget.Button; 9import android.widget.EditText; 10import android.widget.TextView; 11import android.support.v4.app.NavUtils; 12import android.text.Editable; 13import android.text.TextWatcher; 14 15public class MainActivity extends Activity implements TextWatcher, 16 OnClickListener { 17 18 TextView mTextView1; 19 Calculater mCalculater = new Calculater(); 20 21 @Override 22 public void afterTextChanged(Editable s) { 23 String input = s.toString(); 24 Log.d("MainActivity", "input=" + input); 25 if (input.length() > 0) { 26 String dispText = mCalculater.putInput(input); 27 if (dispText != null) { 28 mTextView1.setText(dispText); 29 } 30 s.clear(); 31 } 32 } 33 34 @Override 35 public void beforeTextChanged(CharSequence s, int start, int count, int after) { 36 37 } 38 39 @Override 40 public void onTextChanged(CharSequence s, int start, int before, int count) { 41 42 } 43 44 public void onClick(View v){ 45 Button btn = (Button) v; 46 if (btn.getId() == R.id.button1){ 47 mCalculater.reset(); 48 mTextView1.setText("0"); 49 } else { 50 String input = btn.getText().toString(); 51 Log.d("MainActivity","input="+input); 52 53 String disText = mCalculater.putInput(input); 54 if(disText != null){ 55 mTextView1.setText(disText); 56 } 57 } 58 } 59 60 @Override 61 public void onCreate(Bundle savedInstanceState) { 62 super.onCreate(savedInstanceState); 63 setContentView(R.layout.activity_main); 64 65 mTextView1 = (TextView)findViewById(R.id.textView1); 66 findViewById(R.id.button1).setOnClickListener(this); 67 findViewById(R.id.button1).setOnClickListener(this); 68 findViewById(R.id.button1).setOnClickListener(this); 69 findViewById(R.id.button1).setOnClickListener(this); 70 findViewById(R.id.button1).setOnClickListener(this); 71 findViewById(R.id.button1).setOnClickListener(this); 72 findViewById(R.id.button1).setOnClickListener(this); 73 findViewById(R.id.button1).setOnClickListener(this); 74 findViewById(R.id.button1).setOnClickListener(this); 75 findViewById(R.id.button1).setOnClickListener(this); 76 findViewById(R.id.button1).setOnClickListener(this); 77 findViewById(R.id.button1).setOnClickListener(this); 78 findViewById(R.id.button1).setOnClickListener(this); 79 findViewById(R.id.button1).setOnClickListener(this); 80 findViewById(R.id.button1).setOnClickListener(this); 81 findViewById(R.id.button1).setOnClickListener(this); 82 83 84 } 85 86 @Override 87 public boolean onCreateOptionsMenu(Menu menu) { 88 getMenuInflater().inflate(R.menu.activity_main, menu); 89 return true; 90 } 91 92 93} 94
のようにコードを記載しました。
まず、
Java
1Calculater mCalculater = new Calculater();
のように書いたら、Calculaterが定義されていないと出ました。(本の通り作ったのですが)
TextViewのようにもうアンドロイドで定義されているものはないのでしょうか?ないのなら、どのようにここの部分は書けば良いのでしょうか?
次に
Java
1mCalculater.reset();
の部分でreset()が定義されていないとエラーが出ました。
1つのボタンを押したら、それまで書いていた文字がリセットされるようにするにはどうしたら良いのでしょうか?そのようなコードの書き方がわかりません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。