gpt4 book ai didi

java - 尝试识别按下的按钮时出错

转载 作者:行者123 更新时间:2023-12-02 01:16:58 25 4
gpt4 key购买 nike

作为 Android 新手,我尝试通过在按钮上输出 "Hello" 来识别按下的是哪个按钮,但在执行代码时遇到错误。

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener  {

Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1.setOnClickListener(this);
button2.setOnClickListener(this);

}


@Override
public void onClick(View v) {

switch(v.getId())
{
case R.id.button1 :
button1.setText("Hello");
break;
case R.id.button2 :
button2.setText("Hello1");
break;
default:
throw new RuntimeException("Unknown button ID");



}

}

}

上面的代码返回以下错误:

java.lang.RuntimeException: Unable to instantiate activity ...

最佳答案

问题是你的类属性:

Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);

onCreate 方法中调用 setContentView 之前,不能调用 findViewById。更改您的代码:

Button button1;
Button button2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);

button1.setOnClickListener(this);
button2.setOnClickListener(this);

}

关于java - 尝试识别按下的按钮时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58415604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com