|
|
发表于 2023-9-7 20:18:53
|
显示全部楼层
在Java中,switch语句的case后面只能跟常量表达式,而不能是变量。因此,你不能直接将R.id.button1作为switch语句的case。
解决这个问题的方法是,你可以在switch语句之前使用一个if语句来判断点击的是哪个按钮,然后再执行相应的逻辑。以下是修改后的代码示例:
- Button button1 = findViewById(R.id.button1);
- Button button2 = findViewById(R.id.button2);
- Button button3 = findViewById(R.id.button3);
- button1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // 在这里执行button1被点击后的逻辑
- // 比如显示一个Toast消息
- Toast.makeText(MainActivity.this, "Button 1被点击了", Toast.LENGTH_SHORT).show();
- }
- });
- button2.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // 在这里执行button2被点击后的逻辑
- // 比如启动一个新的Activity
- Intent intent = new Intent(MainActivity.this, SecondActivity.class);
- startActivity(intent);
- }
- });
- button3.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // 在这里执行button3被点击后的逻辑
- // 比如发送一个网络请求
- // ...
- }
- });
复制代码
通过使用多个独立的OnClickListener来监听每个按钮的点击事件,你可以根据点击的按钮执行不同的逻辑。 |
|