我已经阅读了有关空点异常的非常流行的帖子,但我仍然对为什么会收到错误感到困惑。我试图确保一些 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/