|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
不知道为什么我照抄 多 button 设置监听的switch 会报错
case 后面不可以写R.id.button1 , 前面明明已经 写了 findViewbyid
请解释原因为什么这么写会报错,给出更改的方法
这是自己写的
在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来监听每个按钮的点击事件,你可以根据点击的按钮执行不同的逻辑。
|
|