Android studioでswitch文を使うとエラーが出る
Q&A
Closed
解決したいこと
Android studioの学習を始めたばかりの初心者です。
簡単な電卓アプリを制作している時にswicth文を使ってみたら、定数式が必要というエラーが出てしまいました。
エラー: 定数式が必要です
case R.id.btn1:
^
if文に書き直すことも考えましたが、今後のためにも何が原因か知っておきたいです。
該当するソースコード
package com.example.calculate;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.util.Log;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn1;
private Button btn2;
(略
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = findViewById(R.id.btn1);
btn1.setOnClickListener(this);
btn2 = findViewById(R.id.btn2);
btn2.setOnClickListener(this);
(略
calctext = findViewById(R.id.calctext);
}
@Override
public void onClick(View view) {
Log.d("MainActivity", "Button ID: " + view.getId());
switch(view.getId()) {
case R.id.btn1: //問題の箇所
calctext.setText("1");
break;
}
}
}
自分で試したこと
LogcatでボタンIDが取得できているかを確認してみたのですが、特に何も表示されませんでした。
定数式についても調べてみましたが、final修飾子がつくものということまでは理解できましたが、どこにfinal修飾子をつければいいのかがわかりません。