gpt4 book ai didi

java - onClickListener 导致强制关闭

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

我只创建了一个打开另一个 Activity Activity 。一切正常,直到我设置 onClickListener。现在,我的应用程序启动时会强制关闭。如果没有这两行,应用程序将正确启动:

BUeasycounter.setOnClickListener(this);
BUrps.setOnClickListener(this);

这是我的完整来源:

package com.dano.learning;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Menu extends Activity implements View.OnClickListener{

Button BUeasycounter;
Button BUrps;
@Override
protected void onCreate(Bundle MyBundle) {
super.onCreate(MyBundle);
setContentView(R.layout.activity_main);
initializeVars();
// next 2 lines cause the problem
BUeasycounter.setOnClickListener(this);
BUrps.setOnClickListener(this);
}
public void initializeVars(){
Button BUeasycounter= (Button) findViewById(R.id.BUeasycounter);
Button BUrps = (Button) findViewById(R.id.BUrps);
}

public void onClick(View v) {
switch (v.getId()){
case R.id.BUeasycounter:
Intent openEasyCounter = new Intent("com.dano.learning.EASYCOUNTER");
startActivity(openEasyCounter);
break;
case R.id.BUrps:
Intent openRPS = new Intent("com.dano.learning.EASYCOUNTER");
startActivity(openRPS);
break;
};

}
}

也许我只是输入了错误的内容,但两天多来我在源代码中找不到错误。感谢您的帮助。

最佳答案

不存在有问题的异常堆栈,但根据代码我发现一个问题是:

    Button BUeasycounter;
Button BUrps;

两者都指向 null,当您这样做时,可能会抛出 NullPointerException

    BUeasycounter.setOnClickListener(this);
BUrps.setOnClickListener(this);

删除 initializeVars 方法中的新变量。

示例:

public void initializeVars(){
BUeasycounter= (Button) findViewById(R.id.BUeasycounter);
BUrps = (Button) findViewById(R.id.BUrps);
}

注意:Java命名约定建议变量名使用小写字母作为首字母。

关于java - onClickListener 导致强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630970/

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