java - 变量定义中带有 findViewById 的 NullPointerException

标签 java android android-studio

我已经阅读了有关空点异常的非常流行的帖子,但我仍然对为什么会收到错误感到困惑。我试图确保一些 EditText 已填写。我在onCreate方法中试过了,还是不行。任何帮助,将不胜感激。如果这是一个愚蠢的问题,我深表歉意。

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

EditText scoutName = (EditText) findViewById(R.id.editSN);
EditText teamNumber = (EditText) findViewById(R.id.editTN);
EditText matchNumber = (EditText) findViewById(R.id.editMatchNumber);

@Override
protected void onCreate(Bundle savedInstanceState) {
    stringBuilder = new StringBuilder();
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

Button submit = findViewById(R.id.submit);
    submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (fieldsOK) {
                openActivity2();
            }
            else {
                System.out.println("You have Missing Forms");
            }
        }
    });
}


private boolean validate(EditText[] fields){
    for(int i = 0; i < fields.length; i++){
        EditText currentField = fields[i];
        if(currentField.getText().toString().length() <= 0){
            return false;
        }
    }
    return true;
}

boolean fieldsOK = validate(new EditText[] { scoutName, teamNumber, matchNumber });

错误

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.scoutingapp3250/com.example.scoutingapp3250.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference

错误出现在 onCreate 方法上方的 scoutName 上

最佳答案

onCreate中调用setContentView后需要调用findViewById

关于java - 变量定义中带有 findViewById 的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60159198/

相关文章:

android - 使用 php 获取 GCM 的 android 注册 ID

android - AOSP 构建停止 : subcommand failed

android - React-Native- 未能通知项目评估监听器

java - FirebaseRecylerOptions 的实现是什么(不是 FirebaseRecylerAdapter)

java - 如何从仅提供 JSON 服务的服务器获取 JSONP?

java - 寻找独立的类加载器

java - 动画Drawable + Android + 启动和停止动画

android - 来自前后摄像头的 FFmpeg 视频连接创建视频翻转

java - 我希望外部链接在我的浏览器中打开

java - JRebel 曾经在生产环境中使用过吗?它可以在 JVM 上重新加载什么?