因此,我是一位新程序员,并且也是该平台上的新手。我有一个问题。我尝试了所有喜欢看视频的内容,阅读了StackOverflow上的旧文章,但没有任何帮助。这就是为什么我想向您寻求帮助。
这是崩溃报告后的我的Logcat:
由于:java.lang.NullPointerException:尝试调用虚拟 方法“无效” android.widget.Button.setOnClickListener(android.view.View $ OnClickListener)' 在空对象引用上 在de.S8S7.Spiel.onCreate(Spiel.java:32)
此时它显示错误:
btnAntwortEins.setOnClickListener(this);
btnAntwortZwei.setOnClickListener(this);
btnAntwortDrei.setOnClickListener(this);
btnAntwortVier.setOnClickListener(this);
是的,我不是说英语的人。
答案 0 :(得分:0)
首先,您可以设置OnClickListeners,您必须像这样加载Button的实例:
btnAntwortEins = findViewById(R.id.btnIdAntwortEins);
btnAntwortZwei = findViewById(R.id.btnIdAntwortZwei);
btnAntwortDrei = findViewById(R.id.btnIdAntwortDrei);
btnAntwortVier = findViewById(R.id.btnIdAntwortVier);
btnAntwortEins.setOnClickListener(this);
btnAntwortZwei.setOnClickListener(this);
btnAntwortDrei.setOnClickListener(this);
btnAntwortVier.setOnClickListener(this);
您已在布局编辑器中的每个Button的ID字段中写入了ID(例如btnIdAntwortEins)。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您没有正确初始化android中的按钮,则可能会发生此类崩溃。因此,当您刚接触Android开发时,请在Activity中初始化按钮时考虑这些事情
您可以像以下这样全局提及按钮:
Button button;
您必须提供在xml中定义的参考ID,例如;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
githubRepoUrlRecyclerView = findViewById(R.id.button);
//mention on click listener after you have given the reference id.
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO task.
}
});